{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# KNN Classification"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Given a set of features for an event, it is often useful from the machine learning perspective to see how predictive these features can be for a given label by applying some machine learning model to the features. For TCRSeq data, we may have class labels either at the sequence of sample/repertoire level. For example, in the case of sorted antigen-specific cells, the class label would be the antigen that we sorted on. In this case, we may want to know given these learned features, how well can we predict the antigen-specificity. In the case of TCRSeq data taken from tumors, our class label may be whether repertoire came from a patient that had received immunotherapy or not. In this instance, we may want to know whether we could predict on new samples whether they had recieved immunotheerapy based on the repertoire data. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In order to assess the predictive power of these learned feaures in the unsupervised setting, we have provided a K-nearest neighbor algorithm for both sequences and samples that quantifies the predictive power of these learned features to predict both the sequence and sample label."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Sequence Classification"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, we wiill load data from the murine antigen dataset and train the VAE."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%%capture\n",
    "import sys\n",
    "sys.path.append('../../')\n",
    "from DeepTCR.DeepTCR import DeepTCR_U\n",
    "\n",
    "# Instantiate training object\n",
    "DTCRU = DeepTCR_U('Tutorial')\n",
    "\n",
    "#Load Data from directories\n",
    "DTCRU.Get_Data(directory='../../Data/Murine_Antigens',Load_Prev_Data=False,aggregate_by_aa=True,\n",
    "               aa_column_beta=0,count_column=1,v_beta_column=2,j_beta_column=3)\n",
    "\n",
    "#Train VAE\n",
    "DTCRU.Train_VAE(Load_Prev_Data=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can then call the KNN_Sequence_Classifier method.We will ask the method to compute the AUC's for all antigens in the dataset and visualize the results for us by class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f40dc9fda90>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "DTCRU.KNN_Sequence_Classifier(metrics=['AUC'],plot_metrics=True,by_class=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this way, we can quantify how predictive thse learned features are for the antigen-specific label."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also view other metrics including Recall,Precision,and F1 Score."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAawAAAFgCAYAAADn4k1jAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzs3XecVOX1+PHPmbINEJAm0qWJYkfU2KNGlKAx9pgY+y+xEGO+JjHJV6N+06yRaGxRMRoNBk1E1xKjIYjBKEZEFNAFARGRzvbdKef3x51ZZoctM7NzZ+7snPfrtS+m3HJmd7lnn+c+z3NEVTHGGGO8zpfvAIwxxphUWMIyxhhTECxhGWOMKQiWsIwxxhQES1jGGGMKgiUsY4wxBcESljHGmIJgCcsYY0xBsIRljDGmIATyHUC6pkyZoi+99FK+wzDGmPZIvgPorgquhbVp06Z8h2CMMSYPCi5hGWOMKU6WsIwxxhQES1jGGGMKgiUsY4wxBcESljHGmILgWsISkYdFZIOILGnnfRGRGSJSJSKLReRAt2IxxhhT+NxsYc0EpnTw/knA2NjXZcC9LsZijDGmwLmWsFR1HrClg01OBf6ojjeBPiIy2K14jDHGFLZ83sMaAnya8Hxt7LWdiMhlIrJQRBZu3LgxJ8EZY4zxlnwmrLaWL9G2NlTVB1R1kqpOGjBggMthGWOM8aJ8Jqy1wLCE50OBdXmKxRhjjMflM2HNAc6PjRY8FNiuqp/nMR6Tgc8//5y//e1v+Q7DGFMEXFutXUSeBI4B+ovIWuAGIAigqvcBLwAnA1VAPXChW7EY99x6660sXLiQY489lt69e+c7HGNMN+ZawlLVczt5X4Er3Dq/yY2PPvoIgFAolOdIjDHdna10YbIiEonkOwRjTDdnCct0idNQhubm5jxHYozp7ixhmaxoamrKdwjGmG7OEpbJioaGhnyHYIzp5ixhmS4RceZ/19XV5TkSY0x3ZwnLdEn8HlZNTU2eIzHGdHeWsEzXxBbTqq6uzm8cxphuzxKW6ZJIJAzA1q1b8xyJMaa7s4RlMtbU1ER9bLDF5s2b8xyNMaa7s4RlMrZp06Y2HxtjjBssYZmMxWuT+cXHxg0b8hyNMaa7s4RlMrYhlqRK/SVs2GCFNY0x7rKEZTIWT1hlgVJq62qpr6/Pc0QmFe+88w6/+c1vbP1HU3AsYZmMbdiwAZ/4KPEHgR1dhMbbfvWrX1FZWcmaNWvyHYoxabGEZTK2efNmAj4/AZ8fsIEXhaCpqamlZbxgwYI8R2NMeixhmYxt2bwFv/gJiJOwtmzZkueITGcee+yxlsd/evxxaxWbgmIJy2Rs1epVNEeaWV/nzMGaM2dOniMyHXn11Vd57I9/pCcwBGiqq+O6H//Y1oE0BcMSlslYY2MjEY3SGHFKi3zxxRd5jsgbotEoDz/8cEvXmxe8+uqr3HzzzYwQoR8QBM5SperjKn5wzTW2FqQpCJawTMai0Wir5zbqzLFs2TJmzpzJ/fffn+9QAHj++ee5+aabGKbKQFXWA58D84ExKMuXLeN706fb8lrG8yxhmYxEo9GWldrjkp8Xq1AoBMD69evzHAnMnj2bW265hdEK56uyAWiKfa0CmoHzVFm9ciVXXn65DZwxnmYJy2QkuXUFlrC85h//+AczZsxgAvANlBKkze3GIk4yW7eO/7nmGivGaTzLEpYxWRYfxNBWUs+VcDjMb++4g+EinAUEYsmqESgvL+eMM86gvLycxtj2IxHOVmXlqlX87W9/y1fYxnTIEpbJiM9nvzrtiQ8+yWeLs6GhgeraWnZXbUlW4CSsqVOnMn36dKZOndqSsAB2A4IiNnjGeJZddUxG2kpYlsQc8RUkqvM48q5Xr16cdNJJvAk8g1IXq7RZBlRWVjJjxgwqKyspi22/HOV+nw9fMMi0adN2Ot62bdu47777bPktk1d2hTEZE6RV91I4HM53SJ7wwYcfAvDZ2rXU1tamvN+CBQv49NNPsxbHtddey7e+9S3e8/m4S3wsQCnFaX3Nnj2bhoYG/MAfUR4Heg8Zwt333MPo0aN3OtYzzzzDE088wWuvvZa1+IxJlyUskzERadW9FB8dV8xqampYtnQp0WA5qsq7776b8r4/+tGPuO6667IWSyAQ4NJLL+WRRx5h7wMP4AVgEzAUGAnsCqwDPisv54orruCRmTMZP358m8eKF+jctm1b1uIzJl2WsEzGfH5f6+6lsrLOd+rm5s+fD4AGy5FgKXPnzk1pv3jr1I0FaUeNGsXtd9zBDTfcAOXl1Ph8DAW2AIcedhh/euIJzj77bILBYJv7R6PRls/x73//20aDmryxhGUyFggEWnUvlZeX5zukvHv22WfB5wd/Cc19RzF37r/Yvn17p/u5PWlXRDjuuOO463e/Y3s0ynzgqKOO4le/+hX9+vXrcN85c+ZQU1NDwFfCkiVLrFvQ5I0lLJMxv9/f4fNis2jRIj788EOiwQoAQoP2JhRqZvbs2Z3uu2rVqpbHbg6HHzduXMvj888/v9OBMlVVVfzud3cT9JfSp2Ig/XoO5tZbbmXt2rWuxWhMeyxhmYwlJ6hiHiWoqtx3333gDyChRnz1myld9QbR0l3486xZLfeA2vPggw+2PP7oo49cjVXEGeY+dOjQDrdrbGzk+utvIOgrZZeyfogIh+4xjUg4ys9v+LkNsjE5V7xXGNNlyQmqmFtYc+fObWldSTSEREL4a9ajgVKampp5+OGH2903HA6zYsUKSv2K3wcvv/yyq7HGE1ZJSUmH2z3xxBOsXfspfSt2o7pxM9vqN/DWJy/St2J3Pvr4I5555hlX4zQmmSUskzFrYTkikQgPPPAgVOyKxroDW/j8hAbuSWVlJZ999lmb+1dWVhIKhRhQFuVLg5p4bs6cvK9DuHnzZp588kmG9R1Pc7iRUKSJUKSJjTWfEok0M2iXkTz66B/TGrZvTFcV5xXGZIW1sBz//e9/+eyztTTuvl+b74d235+ownPPPbfTe+vXr+e+e39PeUDpGYxy+ugGRMP85te/du1eVryF1ZH777+fUHOIiUOPbOsA7Dv0KGpqanjkkUdciNCYtlnCMhlLTljF2sJ67733QIRI3xEQaW41mZpIM1pSQbTnQN59d1Gr/Zqamvjfn/2UxsYGVGF1jZ/7lvRgTK9m3vnvf5k5c6Yr8XY2LP2tt97ipZdeYvxuk+lV1pdQpKnVZwpFmujbYxCjB+zL7Nmz+TA2UTpbXnnlFd5///2sHtN0D8V5hTFZYV2CjubmZhAfiB8JN7eaTC3hZgCivgDNoeaWfVSVO+64g+Uffczg8giNEaEh4mPZtiARhSMHNzFz5syWeV3tef755/nTn/6U1c/z0EMP06usL3vtfhgAoXBT6wniYadg577DjqEs2COrraxwOMzNN9/M1VdfnbVjmu4jkO8ATOGyFpZj3LhxEI3gq16HBkqorKwEnHtTGiiHcDPBug2MP/z4ln1eeeUVXnzxRb42qoFlWwNA6+R/4Z71rK0L8stf/B+P/vExBgwY0Oa5b7nlFgDOO++8tOMOhUIEAjtfAj5ds4Z+PUbg9znvBQOlrT5TaaCX87q/hL4Vg1izJnvLSa1YsaIltnA43GZ8pngV5xXGZEWxJqhkRx55JH377krZ2oXgL2k1mRp/CcF176LhZk477TTAuRj//p67GdM7wtf3aGzzmCV+uGJiDU2N9R2OMMxEvEswXgYl2dHHHM2aLR+ycuNiAIL+0lafKegvRVVZvv5t1m1bwdFHH5W12F555ZWWx2+88UbWjmu6B7vimIxZwnKUlpbyve9NR2o3gkZRfxD1B4n02g0NlFOyfglf/epXW9bpW7ZsGVu2bmPqiAZ8Ag3h1osIN4SdQRG7VUSZPKCJN+a/ntV44wmrvblh06dP56ADD2Lhqpf5z8oXUG09+COqEf694lne+3QuRx11FJdcckmbx2lububKK69MeT3FL774gtmzZzOooh8De/TjoT88ZHO9TCt2xTEZs4S1w5e//GWOP/4E/HUbifQeRnjAOBrHfYVAwyZ2220wV155Zcu28Xt/zREnMdWHWy8iXB/eMYqvOSIpjb7MpErwxo0b23y9vLycW269hQsuuIA1Wz6kumETpYEKyoM96VsxiO0Nm1hf/QmXX345N910U7vzuT7//HMWL17M3XffnVI8d911FxpVKoJlnD72eFatXsXTTz+d9ucy3ZddcUzGRowY0fK4vKyMMWPG5DGa/Lvmmu/Tr18/Ao3baB5+CCVrFyJNtdxw/f9SUbFjftb48eMZMXwYs1b2YEujUBHQVosIVwScFtDbG4K8vbGEKSed3Ob5EudAbdiwIeU448PaO1p5PRAIcNFFF3HXXXdRWlGK3+/nsNHTqA9V07vPLvz+9/dwzjnndPhHS/w8qSTT9957j/nz57NreW+CvgD7DdyTif3H8Mgjj1CTx7pixlssYZmMffOb32x5PGbMGKZPn57HaPKvZ8+efG/6dKjfQnDdYoIbljFt2jT23nvvVtv5/X6uv+HnNGgpv3y3NwFf6xpV5QFl4YYg9yzpyYQ99+SCCy5o83yJE5HXrVuXcpzx9lsq3W37778/M2bcRSjaxGvLnsQf9HH33b9jwoQJKZ8vFU8//TRBf4C65gY+rVnPHW/PpCJQRn19vesrf5jCYQnLZCyxnEiplRYB4Oijj2bI0GFO6wptldQTjR07lttuv4MareCzugC9S6L0LY2yZ58QJX5lxvs9GTt+T267/XZKS0vbPMYnn3zS8njlypUpxxifhZVqOZjRo0e3DKw49dRTGDJkSGrnid0r62yisqryzsKFlPvLaIw00RBu4qOtq9nWVMNuPfuzcOHClM7l5qLBxhssYZmMJV5IrbSIQ0Q49pijARg+YgS77bZbu9vus88+zPjd3ZRU9KQ04ONXh1Zz6qhGlmwpYd/99uPOO39Lr1692t1/+fLlzgOfM5AjXb1790552549ewJ0WookUbwF19lE5erqampqayn171yPa/ceA1j7aecrw9944418+9vfTjk2U5gsYZmMtWphtdMKKEbxEh49Kio62dJpaf3mllvZ0uTn4aUV3L+0F8OHj+DXv/5Nq/tebXl30bsQBA0q7773btqFFdNJWPGBH6ks6xTX2Nj2kP1kmzZtcs7h23lwyS6lvTpd6R7gtddeY/Xq1Smf0xQmVxOWiEwRkeUiUiUiP27j/eEi8k8ReVdEFotI23eXjSclJilLWDv06dMHSH0U5d57783XTz+dtzaUsK0Rrv3hDztNVhs3bmTlipVoiUIJVG+rTrksSTzpdNR6y4Z48ugsycXvxQV9O08S7l/eh7r6ug4HiCQO6kjsJjXdj2sJS0T8wD3AScBewLkislfSZj8DnlLVA4BzgN+7FY/JvsThzJawdohfoNNpjZx44oktj/fZZ59Ot//Xv/7lPCiJfQktZexTFe/mc0s8YXXW8lu2bBl+8RFVTZqP1sTwXoMBWLp0abv7v/322y2P33zzzSxEbrzKzRbWZKBKVVeqajPwZ+DUpG0U2CX2uDeQ+lAnk3ci0nJRtoS1Q7pdcwAjR45Ma/uXXn4JSoFaoBo0oDz9zNMpDTyIt/zc/pnV19entN2yZcsYsssgmpLWLGwINTKi9+4IsuN+XRJVZfbs2ZSVldG3b1+effZZmpqaUjqvqmY0f83kj5sJawiQuMjY2thriX4OfFNE1gIvAFe1dSARuUxEForIwvYmO5r8SLUYYDFJp2UVFwzuPOCgPStXruSj5R+hAUVC0vLV2NDIO++80+n+l1xyCSXBoOsJ6/nnnwc6T+Dbtm6jd0kvyoNlreajlQfLKAuUUl5S1m6X4Ny5c1m0aBHDhg1j5MiRbNmyhcceeyyl+P785z9z4oknppxYTf65mbDa+l+b/Jt7LjBTVYcCJwOPichOManqA6o6SVUntbcIqMmP+A85nQuu6ZrKykrEJ5A8Kl1oWaS2I9/4xjd44cUX06pfFk866bQeP//889g+Hbf6dhu8G2trv6AsUJo0H62UjfVbqG9uYPDgwTvt98UXX3Drrbeyyy67UF9fz8aNG9ltt914/PHHWbx4cafxzZo1C8CKUBYQNxPWWmBYwvOh7NzldzHwFICqLsD5L9jfxZhMtsVaE5awdsikhZWqcDjMy39/mejg6E7/e7VUmff6vJQuwOm2iONdjenMdYoPa6+p7niliqlTp7K1YTtbG6tbva7A7OV/pyRYwpe//OWdjn3DDTfQ2NjIXnvtRV1dHbW1tYwbN46ysjKuv/76DgdqJLJuwcLhZsJ6GxgrIqNEpARnUMWcpG3WAMcBiMgEnIRlfX4FyLoEc+P999+nens10eFtJI4yCIfCrgw8iA+giA9BT0Vzs1P/q6a2tsNuty996UscccQRbG7YRqk/SHmglHF9RwDKog3LuOTSS3Yqr/LYY4/x4YcfMn78eNauXUtNTQ01NTUsXryYXr16sW3bNm677bYO44u3Frdv357yZzL55VrCUtUwcCXwMrAUZzTgByJyk4icEtvsB8ClIvIe8CRwgWZyx9rkT+ynZXWLdsik+yxVLZV4BwEhWlc3VpCguFKtN37vOJ17yI0JLZc1a9a0u52IcN111zF48GDC0Si79xzIaeOOZ8W2tRxxxBGcddZZrbbfsmULjz/+OAMHDmTQoEHU1tYSiUSIRCJs27aNpqYmRo4cybx585xq0O2Itxa/+OKLlD+TyS9X52Gp6guqOk5VR6vqL2KvXa+qc2KPP1TVw1V1P1XdX1X/7mY8xgWx3i9LWDtzo2twy5Yt+Ep8EARCtBpVRxikQtiyZUvWzxtvLcX/7UxNTQ3NoRAlPud70N4ov7hevXpx0803ESVKfaiRxz58jv79+/OTn/xkp/lsr7/+OqFQqGVkZTgcbpW4w+Eww4YNIxAI8Oqrr7Z5PlWludkZTWhztwqHrXRhssLuYeVG7969iTZHIQQEaTWqjgBog6a1gkWq4pOMU51svGTJEgBK/D5KA4GUBkGMGzeO0047jc/rNrKuZgOXX3F5m3PF4gk5Prk6HA63StzhcBi/309ZWVm7yXv16tU0NDjdnIsXt98KM95iCcvjotEo99xzD59+mr0y5G5IZ8SZydyBBx4IgHwmEGy9yjuANmvLNtnUv78zFqqjtRETxSfzBsRH3xI/b7/9VkoDNk466aSWx0cd1XYl43hZm/igikAg0CpxBwIBmpqaqKura1UCJ9GCBQsAKC9Xliz5wO5jFQhLWB63Zs0aZs2axYwZM/IdSocsYeXGvvvuy6g9RuFf5kd7KxqMffVXpEno268vRxxxRNbPG//5prI6hqry7zfeICCCCPQvK2Hbtu0pLR01evTolsftdTMffvjh9O3bl5UrVxKNRgkEAq0SdyAQYMWKFfh8Pk4+eefV3lSVv//9ZYJBpWdPZ5X3f/7zn53GZvLPEpbHRSIRwPs3hu0e1s7cuIclInzn/30HrVHoAfRxvnS0QiNcevGlrozYTOezrFmzhnWff05UlZrmMGtrndbfv//97073TeX3qLS0lKuvvprq6mo++eQTevbsid/vx+/306dPH3w+H+vXr+cb3/hGm6VQli5dyooVK6moUIJB6D8A5sz5myuDZEx2WcIyWWEtrJ25dQE89NBDmTx5Mv6lfogCCv4lfkaPGd2qSy2bTjzxRPr378+hhx7a6bbxYfVRIKzKtuYwAZGUElaqjj32WE4++WRWr15N//79GTx4MIMHD2bPPfekurqaCRMmcOGFF7a571//+ldKSoSKCkBg4sQQVVUrW+67Ge+yhGWywhLWDm7/pS4ifPe730WbFRqARtA65fLvXu7az2HChAk888wzDB8+vNNt//vOO/iSWmQBn/Dxxx9ntdz91VdfzfDhw1m2bBl77LEHY8eOZdmyZZSWlnLjjTe22VqrqanhtddepVevCJs3C5s2CsuX+fH74dlnn81abMYdlrA8LtWFPPPNugR3iHfjpiOVcvWJRo8ezeTJk5FGQRqFPUbvwaRJk9I+b7apKh988AGBpB7EgE9Q1ZRLoKSirKyMn/70pzQ1NbFq1Sq++OILtm3bxlVXXdXu4JB58+YRCoXx+aC5WWhuFj7/3EdpqTJv3r8K5v9bsbKE5XFeXzYm/he9tbB2yCRhZfJzPuGEE2L9bvCVE77i6pJQqaqtraW6pgZ/Uizx59ke7TphwgSOPfZY1q1bx+rVqxkxYgRTpkxpd/t33nmHnj2F5FkYZWVKY2NTh2VMTP5ZwvK4v/zlL/kOoUPxqsPWwtohky7Burq6tPfZf//923ycT9XVznqAUVqvwhFNcRmkVCcmJ5o2bRrhcJi6ujqmTZvWYeHMVatW0q9feKeluYOxcSqrV69O+/wmdyxheVy8GqvXWQtrh0wSViYtrIEDB7Y8TreellvirbyoaqvJvKGotnq/PZs3b077nPvuu2/L4866RRsbGykpgeam1gk1HNrxvvEu+7PY4+LdS17o7umItbB2ls7PLJMLZeLx46s+5FufPn0ApwETL3VSWVnZ0iXYt2/fDvdPTFjRaLTD1lJc4iorw4YN62BL6N27D9u2raWpeceyVgAvvvgUALvssktHu5s8s6uMx8VXB/D6HBFrYe2QyeK3mdz38qKKigr69+/P9i2bWybzAvQMOL8fnbUEE7tGGxsb007EnS0RNmbMWF56aSm9ekVaJdT431tjxoxJ63wmt6xL0OPiF7JomqPIciV+UbaEtUMmf1x0p+/fPvvsQyTpexBSJRAIMG7cuA73TWw1uvE9Oeigg2hqUpTWy1qFw8Iuu/RqtdKG8R5LWB4XT1iZ3JTPpe50we2qTBKW2+Xqc+nggw8mmvQtCEeVfffdt9PPmdgl58aKHZMnT6akJEhDQ+vu2sZG4eijj0mpC9Lkj/10PC6esGo9mrDifxHbf/QdMrnfmMoafYXisMMOA5z7WAERdikJEFHl8MMP73Tf+CK74M5924qKCo444kgakxKWKhx33HFZP5/JLrvKeFw8YTU1N3t6UqMlrB0yaW12p4TVr18/9t57L3wi9CoJsFuF06o68sgjO903PmjDTccddxzRKAQCSkmJUlamlJaWst9++7l+btM1dpXxuFAo1PI4Xk7Biyxh7RAfMZlO12B5eblb4eTFUUcdTUSVqCobG0KMHj06pdIkuRhtOnnyZMrKSikpgX79lUjEx0knnWTd2gXArjIeFw6FWn5IblSSzRavD7vPpUwuut3t+3fIIYcA0ByJsq05xJe+9KW09ndztF5paSkHHHBgbGkmCIU0pUV9Tf7ZsHYPi0ajhMJhyoBGYNOmTfkOqV3d7YKbDel+T0499VTPrFjRVaNGjcLv99MYiaCQVlHJBx98sNP5Wl213377sWDBgpZ7Wfvss4+r5zPZYQnLw+LL3JTiJCwvt7BM1/3gBz/IdwhZIyL06NGD6upqRIQJEyakvO/48eNdjMwRb8E1NMCgQQPo1auX6+c0XWddgh62detWAOJTIb2csLw+sdnkXrx4Yv9+/TyzEkfc0KFDAYhGhaFDOy+ZYrzBEpaHxVtYfqDM58tqLaFss4Rlkn3ta18DoMSDc8wSh88nrslovM0SlofNmjULgK1AKBpl4cKF+Q2oA/ElpAz07t0baL0oazFKTApeU1JSQkWFMzIzF0PpTXbYPSwPi6/UHi+40FlphnyyFtYOI0eO5M4772TvvffO2TkjkYjnhmXHV63w6pSH0tIS6usb7P5VAbGEZbLCWlitHXTQQTk9XzQa9VzCii/D5N0/ZpwRgj169MhzHCZV3vzTxwA7D4tOZ5h0TU1Nq0nHbusuq40XKi9OK/BiTK1I4SYsEdlNRP4sIitE5EMReUFExonIknzH5iZLWN3Ueeedxy9+8Yucnc+7f0UXB692u4F3E5cUaAtLnG/oX4G5qjpaVfcCfgIMym9k7vPub7nJWDQaZdu2bbz22ms5PafJHy8nLK8rtIQFHAuEVPW++Auqugj4NP5cREaKyOsi8t/Y15dirw8WkXkiskhElojIkSLiF5GZsefvi8j3Y9uOFpGXROSd2LH2jL1+Zmzb90RkXi4/uN3D8rDkbrZUk8JNN93U8ripqSknpSusS9Aki7esvN76LsB1HCcC73SyzQbgBFVtFJGxwJPAJOAbwMuq+gsR8QMVwP7AEFWdCCAi8WGTDwDfUdWPReQQ4PfAl4HrgRNV9bOEbXPC/izzsHBS0cZU7klVVVUxf/78luc33HBDThbN9fpFyeRe/HfCq12CcWVlZfkOwQ1B4EEReR/4C7BX7PW3gQtF5OfAPqpaA6wE9hCR34nIFKBaRHoCXwL+IiKLgPuBwbFjvAHMFJFLcaaJ5owlLA9LTlDNzc3tbAnLly/nxhtv5OKLLyYUCtOnfCAHDD+ONxe8ydlnn819993n6lqElrBMoQoGg51v5C0fAJ0NQ/0+8AWwH07LqgRAVecBRwGfAY+JyPmqujW23VzgCuAPOLlhm6run/A1IXaM7wA/A4YBi0SkX5Y/X7ssYXlYY2Njq+ehUGinmlirVq3iBz/4AZdeeinz/jWfPuUD8UuAuubtrN36EcN23ZP+ZcN58sknOfPMs7jjjjs8vWKG6X68/seM16YDpOA1oDTWwgFARA4GRiRs0xv4XFWjwLeItYREZASwQVUfBB4CDhSR/oBPVZ8G/hc4UFWrgU9E5MzYfiIi+8Uej1bV/6jq9cAmnMSVE5awPKyhoWGn1z755JOWx6tWreKySy9j8aL32WfoUUzd5zIC/hLC0WZCkSY21nxKfXMNh405hZMmXsKIXffm2WfncPl3L89aMchC6fYx+WO/G9mlzn+604ATYsPaPwB+DqxL2Oz3wLdF5E1gHBAvWX4MTqvoXeB04C5gCDA31vU3E7gutu15wMUi8h5Oq+7U2Ou3xgZnLAHmAe+58TnbYoMuPCo+j6q8vJypU6dSWVlJQ0MDVVVV7LnnngBOeYSmRk7c+wJ6VwwAIBRparVPKOIkpp5lfZg08iv0Lu/Pu2teZdWqVVlZFTt+MbKLkklWKCNHCyXORKq6Djirjbcmxt7/GEhcG+y62OuPAo+2sd8N1Pz3AAAgAElEQVRO9V9U9RNgShuvfz2DkLPCWlgeFW9JTZ06lenTpzN16lQAVq5c2bLN5MmT8fl8fLhuQUtLJxRuarVPKLyjJdUcbqRqw38ZOHAQo0aNyuGnMcUoedCQVxVKnMZaWJ716afOlIrKysqWfwMJrwOMHj2aSy+9lPvvv58BG4czZuD+BAOlrfYpDexYJ23hqr9TH6rm1zfMoKSkJKvxFuB9AOOy+FQHr9/DsoRVOKyF5VHxEX0NDQ3Mnj2bhoYGgsCmjRtbbXfuuedy0EEHseSz12kKNxD0l7bex+/MwfqiejVrty7nwgsvdKW6qk1cNcniiSCX3cWZJMdcLmFmusauMh5VX1+/02s+oL6urvVrPh9XXXUVoUgTiz/9F7TxHzYcaWbRp68xcMBAzj77bFfitXtYJlk+Wi6ZDCayFlbhsC5Bj2ovAbT1+h577ME3v/lNHnvsMSpKerd6T1VZsOI5qhs2c+tNt2Z91Yv4X7TWJZgfv/rVr6itrc13GG2KD2bIZZdgY2Nj2hOBbZWWwmEJC2d4eFNTU1qj5latWsVbb73FWWe1NVCn63r27LnTaxGgV6zGULKLL76Y9evX88orr+CXAD6fnz4VA2kKN7Cpdi3XXnstkydPdiVWsISVL4cffni+Q2hXPqY8ZNK9V4ijBIuVJSzgqquuYvv27cybl/o6jjfddBNVVVWceeaZrvyHHDx48E6vhYHBu+/e5vY+n4/rrruOzz5bx9KlS+lbPoiJQ47gn8ue5Nxzz2XatGlZjxF2XIzsHpZJlo9uYi8nnyOOmzIPX2B41g4YDa+Z/+pLR3W0iYhEgPdxlmoK4wxp/62qRkXkAmCSql7ZyTEuAG7FWR0DYLGqni8itwLTcGrMrgAuVFVX14GzhEVmlXyrqqpciGSH0aNHA84PyI9TN2BNwuttCQQCTJ9+Fd/5zndoDNWzYsMievXahQsvvNDVWMESltlZvNWdyy7BTH4Pc/a76wsMb9j/rBGdb5ia8kVPpbJZg6ruDyAiA4EncFbBuCHN081qI7G9AlynqmER+Q3OXK8fpXnctNhVpovc+s84fPhwevXoQRnOipPxP6MmTpzY4X4TJkzA7/cTjjSzpf5zDj54Uk4W97SEZZLF1+jLZUsrk3UBi6U7W1U3AJcBV8qOH8qwWAmR5SKSVhJT1b+ranzEypvA0CyG2ya7ynSRWwnL5/Nx4KRJxBdnWgGUBIOdJiwRoaysjFC0mbqm7Qwfnr0eiM7Oa0yifLSwMikVUiwJC0BVV+Jc9wfGXpqMswTT/sCZIjKpnV3PjtXQWiQibXXZXAS8mPWAk7iasERkSixzV4nIj9vZ5qxYiecPROQJN+Nxg5v/GQ855BAiOB3EVT4f+++/f0qj/IYOHUokGkJVXZlzlcjWEjTtyUcLK5MJ8QW4WntXJf5AXlHVzaraADwDHNHOPrMSVm1/pNXBRH6Kc3/sT+6Eu4NrCStWHOwe4CScWiznisheSduMxen3PFxV9waudiset7h5k/fggw8GoBbYGI0y+ZBDUtrvmmuuaXl8wAEHuBFai0Ip0mdyLx8trEySYzG1sERkD5wBxxtiLyX/cFRErkhoTbU9ymvH8b4NfBU4T3Pwg3azhTUZqFLVlaraDPyZHav9xl0K3BOrxxLvYy0obv6MBg0aRI+KCqpjzw86qLMSOI5x48YB0Lt3bwIBd8fVWMvKtKdQfjeKJWGJyADgPuDuhORygojsKiLlwNeAN1T1noTW1LoOjjcFZ5DFKaq680oHLnDzajYE+DTh+VoguYkwDkBE3sAZDPdzVX0p+UAichnOzcKc3ZNJldt/VBxx5JG8/PLLlJeWMnLkyJT28fv93HzzzW0Ojc+2Cy+8kHvvvbcQy4wbA+RwwFA0vCbFkX0pHy+FrcpjZUPiw9ofA+5IeH9+7LUxwBOqujCNCO4GSoFXYn+cvBkr7ugaNxNWW39eJV/dA8BYnBotQ4HXRWRi8lh+VX0AeABg0qRJnup7cnvexx577AFA/4ED0/pL8Oijj3YrpFa+/vWvc8opp7jekjOmIz169KAuadmyVOWqJdjZnCk3qGq7Fw1VnYlT/6qzY7S5naqOyTyyzLh5lVlL60qUQ2ldYCy+zZuqGsKpbrkcJ4G97WJcWeX2si7xVpKXh41bsjL5dtddd7F169aM9vXy/y3TmptXmreBsSIyCmeG9DnAN5K2+RtwLjAzVqZ5HLCSAuJ2wurXrx9QOPcDjMmH+H1b07259qdFbELZlcDLwFLgKVX9QERuEpFTYpu9DGwWkQ+BfwLXqupmt2Jyg9srPVdUVACWsEzhKZQpD8Uy6KI7cLUvR1VfAF5Ieu36hMcKXBP7KkhWmsCYjtmUB5Mt1nnbRW4Xf+vTpw8AJ5xwgqvnMcYtXm9hmcJhd8u7qLm52dXj9+vXj6effrrlXpYxhcImlZtss4TVRW4nLIABAwa4fg5j3BK/D+s1uW75nXrCEfNKfJq1iaTNUVnz7Cvzc1Ve5BHgeFV9NfbaaThLOZ2pqrMTtv0dTpmRngn7JpYmuVtV/5DmR21hCauLMinJbUwxGDx4MJMnT+bb3/52vkNp01lnncW9995Ljx49cnK+Ep8Ov/3w6qyVF/nBG20Xc02SrfIi7+OM6H419vwc4L3EDWIL5/ZpY9+2SpNkxO5hdVFjY2O+QzDGk4LBILfddpvrCzBn6pxzzuGll14qmlVaulhe5HVgsogERaQnzsoYi+JvxtaOvRX4oUvhA5awuswSljGFSUQ8213pli6UF1HgH8CJOGvCzkl6/0pgjqp+3sa+p4vIYhGZLSLD2ng/ZZawuqi+PidrPhpjTLZkUl4EnAXMz4l9PdlyMGdF9zOB37Wxz3PASFXdFyfhPdqVwC1hdZElLGNMoehKeRFVfQuYCPRX1Y8S9jkAp4uwSkRWARUiUhXbZ7Oqxm/0PwikVnKiHTboIgOJw3QtYRljCkFyeZHYbawTRGRXoAGnvMhFsRXb70nYL/Ew1wGt7oOoaiWwW8L2tfGFcUVkcEI34Sk4qx5lzBJWBhLvW1nCMsakojkqa1Ic2Zfy8VLYLKvlRVT1xTTDnB5bii8MbAEuSHP/VixhZSAxSVnCMsakorM5U25wubzIBe1s3zPh8XU4rbKssHtYGUhMUpnW4DHGGJMeS1gZSExYDQ0NeYzEGGOKhyWsDCQmKUtYxhiTG5awMhAfdCEojY2WsIwxJhcsYWUgvuCtX6DRWljGGJMTlrAykJiwQiH3V2s3xhhjw9ozEi/a6BMIhVKvOLxlyxYeeughrrjiiqJbw8yYYnfkV46cR4CslRchzJrX//56rsqLPAzsr6qLY68tAb6qqqtiq1vUAFHgC+B8VV3flY/WHktYGYhEIgCIaMvjVMyaNYvnnnuOvfbai6lTp7oVnjHGiwIMj54UzVp5Ed+LKXWQZau8yFrgp8DZ7bx/rKpuEpFfAj8Bpqd5/JR0+olFZJCIPCQiL8ae7yUiF7sRTKF49VWnJExjWNi6dRszZsxIab/4cPhcFH00xphEXSwv8jywt4iM7+Q083BWzXBFKil6JvAyEF8E8SPgarcCKgQbNjjrRkYRQuEwVVVVKe0XX4Mw15VOjTEGulReJArcgtN66shXcbogXZFKwuqvqk/hBIyqhnFW+zUZsoRljMmjTMuLPAEcKiKj2njvn7E1C3cBfpW9UFtL5R5WnYj0I7YMvYgcCmx3K6BC0NWEk7jauzHG5Eqq5UWAS2PPT255QzUsIrcDP2rj0Meq6qZsx5sslYR1DU51ydEi8gYwADjD1aiMMcZkVZbKi8wEfgj0ylHYrXSasFT1vyJyNDAepym5XFVDrkfmYT5f16avWZegMUUozJoUR/alfLwUtsp2eZFmEZkB3JVZ0F3TacISkfOTXjpQRFDVP7oUk+dZl6AxJl2dzZlygxvlRVR1BjAj4fnIzCNMTypdggcnPC4DjgP+C1jCMsYYkzOpdAlelfhcRHrjNCGLVqZdgvFEZy0sY4xJXyZX3npgbLYDKSRdbWFZC80YY9KXyj2s59gx9NEH7AU85WZQXmf3sLouFAoRDAbzHYYxpoCkcg/rtoTHYWC1qq51KZ6CkGmXoK104Xj//fe56qqruPvuu5k4cWK+wzHGFIhU7mH9KxeBeIGqppRMrEuwa/7zn/8QjUZ55513LGEZY1LWbsISkRp2ngUNzlwsVdVdXIsqT3KVsKxL0GHfB1NMph511Lwg2SsvEoI1lfPm5aq8yK3AZ0AJcKeqPpjw/rPAQFU9rAsfJyXtJixVzctM5nxK9QJa7C0kY0z6gjD8+0jWyovc2WZ7YifZKi8yS1WvjB3jAxGZo6pfiEgf4ECgVkRGqeonaR43LSnfjBGRgSIyPP7lZlD5Yn/x54YN7zcm97pYXiTxGCuAeOI9HXgO+DNwjgtht5JKPaxTRORj4BPgX8Aq4EWX48oLt1tYdqFuzVqqxuRWF8qLAC2L5+4BxGsqnQs8Gfs6142YE6XSwroZOBT4SFVH4ax08YarUeVJNBp19fg2SrA1S9zG5EUm5UXOjq1J+CTw/1R1i4gMwlmDcL6qfgSERcTVUVSpJKyQqm4GfCLiU9V/4mRjY4wxBSTV8iIisij2FS/cO0tV91fVQ1T1r7HXzgb6Ap+IyCpgJC53C6aSsLaJSE/gdeBPInIXzmiTbifVv/jr6+spLy/njDPOoLy8nLq6upT2W7JkCWAtLGNM7iWXF4m9fIKI7Coi5TjlRd5Q1XtiyWl/VV3XwSHPBaao6sjYArgH4XLC6mhY+904zb9TcWqlXI3T19kbuMnNoPIl1S7Buro6pk6dyvTp0wF4443Ueki3b3fqXlpXmMMStykmIViT4si+lI+XwmZZLS8SJyIjcYbovxl/TVU/EZFqETlEVf+T0odIU0cThz/GWeViMDALeFJVH3UjiELTo0cPKisrAaisrGTo0KF5jsgY43WdzZlygxvlRWKvrQKGtLHtgelFmJ52uwRV9a7YRLCjgS3AIyKyVET+V0TGuRlUvqTa8ikvL6ehoYHZs2fT0NBAjx490jpPsbcsrIVpjMlEp/ewVHW1qv5GVQ8AvgF8HVjqemR5kKsLabFfsG14vzEmE6nMwwqKyDQR+RPO/KuPcCaLdTupXkDtQpsdxd7SNMakp92EJSIniMjDwFqc2dEvAKNV9WxV/VsqBxeRKbEZ1FUi8uMOtjtDRLSzSWte0dWEZRdqY4xJX0eDLn6Cs+7U/6jqlnQPLCJ+4B7gBJyk93Zs/akPk7brBUwHXBlVko5URwl2NWFZC81h3wdjTDo6GnRxrKo+mEmyipkMVKnqSlVtxllr6tQ2trsZuAVozPA8XZJ40cxVl2CxX6htxQ9jTCZSKeCYqSHApwnP1wKHJG4gIgcAw1T1eRH5n/YOJCKX4XRLMnx4dtfdzSR5dDXhuL0ElDHGe0487uR5fl8gaxewSDS85uVXX8hbeZGk14M4g/HOV9V6ETkK+C2wL3COqs7O+IMmcDNhtfXnc8uVXkR8wJ3ABZ0dSFUfAB4AmDRpUlabJ/loYUUikS7t75YnnniCtWvX8sMf/tDV89goQVOM/L7A8JP3vTRr5UVeWPxg5xu5WF4k8fXY8Z/AWa7pEZxJzRcA7TZEMpFZrffUrAWGJTwfCiQu89ELmAjMja1DdSgwJ9cDL/KRsLzawrrvvvt4/vnn8x2GMcYFLpUXAUBEAkAPYGtsu1WquhjI6sXOzYT1NjBWREaJSAnOGlPxrIyqblfV/gnrUL0JnJLq0iDZkph8Uk0kXU04xd6ysHtYxuSHC+VF4qu4fwbsilMbyzWuJSxVDQNXAi/j9G0+paofiMhNInKKW+dNVz7uYRV7wnr77bcBS1jG5ElWyovEXp8V63LcDede2bVuBQ3u3sNCVV/Amb+V+Nr17Wx7jJuxtCeTFlZ37RLMlS1bnN/1Yk/cxuRaquVFgEtjz0+O/dtyr6otqqoi8hxwFfDrLIbciqsJqxAkJg8b1m6M6a6Sy4vEejhOEJFdcSpyfA24KHZb5p6E/VI9xRE497dcU/QJywZd5I91CZpiEomG16Q4si/l46WwmSvlRRKcLSJH4NxeWkts1LeIHAz8FafA4zQRuVFV907z2DuxhJVBl6DJDmtpmmLS2ZwpN7hVXqSz/VX1bZyR4Vnl5ijBgpCPQRfGGGPSZwkrDy0sS3jpU1Vuv/12li9fnu9QjDF5UvQJK5NBFyb3tm7dyrPPPsstt9yS71CMMXlS9AnL7mHlTzp/IMS33bRpk1vhGGM8zhJWBqMEBw50Jon7UILBAGPGjEnrnDY6zmHfB2NMOoo+YWXSJfiVr3wFgFI/9N91V6ZPn+5KbN1dOi0sWzDXGFP0w9r/8Ic/tDz+5S9/yT777NNpAvL7nZGiUSAQKPpvYcashWWKyQnHHjPPL5K98iKqa17559zOyovUqmrP2OOTgbuA44CbgOc7K/shIjOBs4BBqloTe+0unKK7A4BaYB5QipNPZqvqDbHtjsMpP+KLbXeBqlYlnyMdRX+1XbVqVcvj5cuXU15e3uk+wWAQgKhCIPY4HXahNqb4+EWGH7l7v6yVF3l93eaUt40lj98BX1HVNWleg6pwiu8+HisLdSzOYrcATcCXVbVWRILAfBF5UVXfBO4FTlXVpSJyOfAzUign1ZGi7xLMpIspMWGVlJSkvb8lLEcmgy7se2dMekTkSOBBYKqqJi6ddLyIvC4iH4nIVzs4xJM4da4AjgHewFk1A3XUxt4Lxr7i/7EV2CX2uDety0tlpOhbWJkoLS0FIKJQUlqW9v5ev+iqqudjNMakpBR4FjhGVZclvTcSOBoYDfxTRMaoamMbx/gYOFVE+gLnAo8DJ8XfFBE/8A7O8k73qOp/Ym9dArwgIg1ANU7Nwy4p+hZWJsrK4klKEh53H16siGyDLozJSAj4N3BxG+89papRVf0YWAns2cFxnsGpaXgI8HriG6oaiZUYGQpMFpGJsbe+D5ysqkNxqhAnrmGYkaJPWJlcAOMtLCCjhOX11osXE5Z1CRqTkSjOoImDReQnSe+1VVrkERFZJCIvJL33Z+BmnPpZbU5YVdVtwFxgSmxl+P0SWluzgC914XMAlrAykjgwI5VBGsm8ftENh8P5DsEYkyWqWg98FThPRBJbWmeKiE9ERuNUEV6uqheq6v6qenLSMdYAPwV+n/i6iAwQkT6xx+XA8cAyYCvQW0TGxTY9AaeQb5fYPawMJCapioqKtPe3hOVI5/tgXYGm0EVU16Qzsi+V46W6rapuEZEpwDwRiS8Xsxz4FzAI+E47968Sj3F/Gy8PBh6N3cfy4XQzPg8gIpcCT4tIFCeBXZRqvO2xhJWBxCSVSQvL67zYJWhMoetszpQb4nOwYo8/BUbFnj6b4v4XtPP6yNjDTcAB7WzzV5yaWFljXYIZsBZW7tk6j8YYS1gZSEw43fEeVq5aWJnMw7KuQWOKV9EnrK5eADNpYXmdF+9hdWUfY0z3UPQJq6u6SwvL62VW4jFZC8uY4mUJq4u6y8ThxCTl5S5BLyZ7Y0xuWMLqou6YsLzYwjLGGBvW3kWJq14Usny0sIwpJqecMHVe0B/MWnmRUCS0Zs4rlW6XFzk0tk9p7GuWqv5cRC4AJgFzgBuBL6mqJqwreLmq/rtLH7ANRZ+wunpPpDsmrFzdJ8qkS9CYQhX0B4f/35HTs1Ze5Gevz0h52y6UF3kUOEtV34slo/GJb6rq30XkIpy1Cv8AXAW87UayAusS7LJMyot4UWJCsORgTPfRxfIiA4HPoWWR2w/b2Ob7wHUisjdwJfCjLIbfStG3sLoqmEEBRy8mhHwkLLtXZozrulpe5E5guYjMBV4CHk3eRlU/F5HfAguA6aq6Jfsfw2EtrC7qLgkrl2wSsDE506XyIqp6E869qr8D38BJWm25B/Cr6sxsBN2eok9YXb1oBgLWSM2UJSxjXNfl8iKqukJV78UZrLGfiPRLPkms5Ijr/6GLPmF1VSYJyy7UDvs+GOO+rpQXEZGpsmOExlggAmzLZfyJrHnQRX6/P+19vHihThw15Pbk3PjnT+celk0YNoUuFAmtSWdkXyrHS3XbLpQX+RZwp4jUA2HgPFWN5Ov/Y9EnrK4mj0x+cF5MWIksORiTfZ3NmXJDFsqLnNPO6zOBme2dyy3WJdhFPl/630Ivjo5L/By5Slg2QdkYkw5LWF2UycXdiwkrH12Cud7XGFPYij5hdfUCmGoLa8aMGWzfvh2AyspKZszIXl92NiQmqUxajZlIp4UVj8+6K40pXkWfsLoq1QtoVVVVS52p9evXU1VV5WZYactHl2AmrIVlTPEq+oSVj0EXxS7+PbcWljEmHUWfsDL13e9+lx49enSbC2gu72FlwlpWxpiiH9be0NBAeXk5U6dOpbKykrq6upT2O/fccznzzDM9eXH3ukzmYRlT6I4//vh5fr8/a+VFIpHImn/84x+ulRcRkXuAw4ESnOHwy2Nv/R/OROSjge2AANeo6qux/eYCg4FGoBa4SFWXi8ifcJZ5CgFvAf9PVUPpfGZLWA0NTJ06lenTpwPwxhtvpLxvd1qWKVeL386YMYPq6mrA+V6XlJS0fO9Tjc+YQuT3+4cfdthhWSsvsmDBgpS3zaS8iKpeEdt3JE5y2z/heF8FrlXV2SJyLPAAzkoYceep6kIRuQy4FTgF+BPwzdj7TwCXAPem/CGwhEV5eTmVlZWAM3pv6NCheY6oe0scfLJ58+a0B59Y4jImPQnlRU5uo7zI93BWurhGVZ/P8BQLgCHtvDcPuBpAVVvWJxSRt4C0L7ZFn7BKS0tpaGhg9mynZdyjR488R5QfXq+HFY/JumCNSUtXy4ukYgrwt3bemwa8n/iCiARxlnz6XroncnXQhYhMEZHlIlIlIj9u4/1rRORDEVksIq+KSNaayyY9ifeTvLgCRTw+S1jGpKVL5UU6cauIrAQeB36Z9N6fRGQRzj2w/0l67/fAPFV9Pc3zuZewYuWU7wFOAvYCzhWRvZI2exeYpKr7ArOBW9yKx3QsMUl5eTCEF1t/xnhYl8uLdOBaYAzwM+DRpPfOi636/rXYGoYAiMgNwADgmrQ+RYybLazJQJWqrlTVZuDPwKmJG6jqP2NL3wO8SQZ9ml1lF0DHvffuuPd52223eW4lDi+2+owpBF0pL5LCsaM4Iw99InJiR9uKyCXAicC5sf3S5uY9rCHApwnP1wKHdLD9xcCLLsZjOrBixY57sR9//LHn7uXZHxam0EUikTXpjOxL5XipbtuF8iKpHFtF5P+AHwIvd7DpfcBqYEGsa/+ZWEXjlLmZsNq62dDmVUdEvokzPv/odt6/DLgMYPjwrE1jMAm8nhDi3ZRej9OY9nQ2Z8oNXS0vEttvFTAx6bULkp4/DTwde3xMO8fpcr5xs0twLTAs4flQYF3yRiJyPPBT4BRVbWrrQKr6gKpOUtVJAwYMcCXYYuf1RODl+2rGmNxwM2G9DYwVkVEiUgKcA8xJ3EBEDgDux0lWG1yMxXTC6wnBRgkaY1xLWKoaBq7E6dNcijOE8gMRuUlEToltdivQE/hLbGTKnHYOZ1zm9RaWDbowxrg6cTg2s/mFpNeuT3h8vJvnN6krlBaWMaZ42WrtBvB+QrAWljHGEpYBvJ+wvB6fMcZ9Rb+WoHF4PSF4PT5jOnPSSUfOCwQ0a/NywmFZ8+KLr7tWXiQdIvIwzuTkDao6MeH1m3EWjIgCG4ALVHWdiPQFHsZZx7ARpwTJks7OYwnLAN5PCPEuQa8PDjGmPYGADv/W+c1ZWy/1sT+WpLxtJuVF0jQTuBv4Y9Lrt6rq/8ZimA5cD3wH+AmwSFVPE5E9cZbxO66zkxR9l2Cuhkl7PSFYfMZ0TwnlRaa2UV7kdRH5KFbfqq1954rInSIyT0SWisjBIvKMiHwcW90CAFWdB2xJ3l9VqxOe9mDH4hF7Aa/GtlkGjBSRQZ19Fmth5YjXWwZeTwhej88Yj8pGeZFmVT0qVjvrWeAgnOS0QkTuVNXNHQUgIr8AzsepTnxs7OX3gK8D80VkMjACZ3GJLzo6VtG3sHIl+YLrtQTm9VF48fhs4rAxaclGeZH4/Nj3gQ9U9fPYqkQrab2aUZtU9aeqOgyn4vCVsZd/DfSNlSC5CqdyR7izYxV9wspXl6DXEpbXWzBej88Yj8pGeZH4knnRhMfx5+n00j0BnA5OV2F8ZXic1tcA4JPODlD0CWvIkB2VnUeMGMGYMWNcOU/yBddrF2CvxZMsnuC9luiN8To3y4t0RkTGJjw9BVgWe71PbMk+gEtwCjpWJ++frOjvYZ122mm8/rpT+PKCCy7guOM6HaiSkeQLrdcShNfiSWZdgqbQhcOyJp2RfakcL9Vt3SwvAiAiTwLHAP1FZC1wg6o+BPxaRMbjtMZW44wQBJgA/FFEIsCHtN1luZOiT1iJF0Cfz70Gp3UJds1LL70EWMIyhauzOVNu6Gp5kcRSIao6F5jbznvntrP/6e28vgAY29Z7HSn6LkG/39/y2M2E1dDQQHl5OWeccQbl5eXU1dW5dq5MhMNhT8e3fv16wHuJ3hiTO0XfwkpMUm4mrPr6eqZOncr06dMBmDt3rmvnykQ4HOaUU05pie+NN97Ic0St2T0sY0zRJ6zEFlbi42wrLS2lsrISgMrKSvr16+fauTIhIq3iGzp0aJ4japt1CRpTvIo+YSW2qtxOWA0NDcye7SzdVVZW5tq5MuH3+ahPiK9Hjx55jqht1sIypngV/T2sXHUJJl9ovXbh9VY07bMGljHFq+gTViCwo5HpZgsrmecSlsfiMcaYZEWfsHLVwjKO2traVqMRa2tr8x2SMaZA2D2sHN3DMo7a2tpWoyXnz5+f54iMMYWi6BNWruZhGUdFRUWr0YiDBw9O8wh2E8uYYlX0CStXLazk4dheG56dq4LVp0YAAAtpSURBVHgqKipajZasqKjIyXmNMYWv6JsUuWphxVsS6nMGN3h1npPbvD5a0hjjXZawcjRxeNq0ac6D2PSrc845x7VzZSJXLSxLWMaYTFnCyuFKF0DLhKeW5x5hCcsY43VFn7ByudIF4CyyjyWsLhwhK3EYYwpP0SesXLWwWpZiKvIWVjJrYRljUmUJK0eDLsrLy50H0aTnHuH1FpYlNmNM0SesXHUJtiSoSNJzjyiUOWiWuIwpXoVxlXJRrlpY8dXPRYVgSbDVGoZe0KdPn5bHFRUVjBkzJo/R7MwSlTHGElZCwnIziSSWE/HiZNkDDjgAAfwiTJgwoWXpJK+whGWMKfqElXjvxs0Wls/nQ3zOubyYsMrLy1vG37lZqyuTe2UzZsxg48aNANTU1DJjxoxsh2WMKQBFn7ASub34rd/nHL9nz56unicT8SQaRXOaUFNJYFVVVTQ3NwMQiUSoqqpyOyxjjAdZwkrg9sCDsnKn5dKjwnvVfOP32FTdrTY8cuTIDp8bY0x7LGElcLuFNXSIs36gF8vPJ7aq3IzvoosuAnZ8ry+++OK0jxGNRrMakzGmMFjCSuB2woonAi/ew0rspnQzYQWDQWDHIIr483SEw+GsxmSMKQyWsBK43SUYn3vltTlY0DpJuZmwSkpKAEtYxpj0WcLKofjoOzdH4WUqXwkr/jwdoVAoqzEZYwqDJawciicqL7awErsE3RzFmJigRCSlFlbyHKz4iEFjTHGxhJVD8S5Hry18C61bVW7eYxORlu9DSUlJSsPakxOUJSxjipMlrDzwYsJKbPW5PSgknhxT/T5YwjLGgCWsvMhkoIHbErvq3O6yjCeqVO/lNTU1dfjcGFMcLGHlQb5qT3UkMSa3E1a6oyXbamHZ2oLGFB9LWHng9Yut1xNWNBqltrY263EZY7zNEpbZidv32OKJKtV7ZW3ds9qwYUNWYzLGeJ+rCUtEpojIchGpEpEft/F+qYjMir3/HxEZ6WY8JjVu1+qKJ6xU72GFwzvPu9qyZUtWYzLGeJ9rCUtE/MA9wEnAXsC5IrJX0mYXA1tVdQxwJ/Abt+Ix3pFul2A4HNnpterq6qzGZIzxPjdbWJOBKlVdqarNwJ+BU5O2ORV4NPZ4NnCceHFEgsmqeMsq1a7Htha7bWhoyGpMxhjvczNhDQE+TXi+NvZam9uoahjYDvRzMaa8iudirw+6cFu6w9rBaY2dccYZLa2ySGTnVpcxpntzM2G11VJKvlKnsg0icpmILBSRhfHKs4UonqiKvREZT1jpDO6YOnUq06dPZ+rUqYD7K+sbY7zHzbvra4FhCc+HAuva2WatiASA3sBOd9NV9QHgAYBJkyYVd/OkG4hPUk41YYkIlZWVAC3/enEBYWOMu9xsYb0NjBWRUSJSApwDzEnaZg7w7djjM4DXtBv3l1mXoCO+lmCqLc3y8jIikXpe/vtTlJTUAdCrVy/X4jPGeJNrCSt2T+pK4GVgKfCUqn4gIjeJyCmxzR4C+olIFXANsNPQ9+6o2LsE41L9PowaNYqBA6N8+9vNHHaYUwtr1113dTM0Y4wHuTrhRlVfAF5Ieu36hMeNwJluxuBFxd7CSvfzDxw4iM8+WwqEqKlxktygQYNciMwY42W20kUO7bnnngAMHz48z5F4Q6qJa/fdd6e6WolGobpa6NGjnF122cXl6IwxXuPukgamlSlTpjBmzBjGjRuX71AKytChQ4lGoaZG2LZNGDp0WOc7GWO6HWth5ZDf72f8+PGevYd17LHHsscee+TsfKl+H4YNcxLU1q3C9u0Bhg8f4WZYxhiPshaWaXH99dcTDofzHcZO4l2omzcJNTXaksCMMcXFEpZp4ff7czohN9V7WL1796ZHj3JWr46i6nQRGmOKj3UJmrxJtUtQRBgyZCjr1jm/rrvvvrubYRljPMoSlsm5vn37AtCnT5+U9xk8eEeSsoRlTHGyLkGTcyeffDLgjJpM1cCBAwEoKQnSu3dvV+IyxnibJSzg9ttvt3IVOVReXs7pp5+e1j79+/eP7Vvm2VGWxhh3WcICDj744HyHYDoR7z506oIaY4qR3cMyBSG+FNPYsWPzHIkxJl+shWUKwgEHHMCDDz5oAy6MKWKWsExBEBHGjx+f7zCMMXlkXYLGGGMKgiUsY4wxBcESljHGmIJgCcsYY0xBsIRljDGmIFjCMsYYUxAsYRljjCkIlrCMMcYUBEtYxhhjCoIlLGOMMQXBEpYxxpiCIKqa7xjSIiIbgdX5jqMA9Ac25TsI063Y71RqNqlq6tVJTcoKLmGZ1IjIQlWdlO84TPdhv1Mm36xL0BhjTEGwhGWMMaYgWMLqvh7IdwCm27HfKZNXdg/LGGNMQbAWljHGmIJgCcsYY0xBsITlcSISEZFFIrJERJ4TkT5ZPv4FInJ37PHPReR/snl8UxhE5DQRURHZM/b8GBF5PmmbmSJyRuxxUER+LSIfx3433xKRk/IRuykelrC8r0FV91fVicAW4Ip8B2S6pXOB+cA5KW5/MzAYmBj73ZwG9HIpNmMAS1iFZgEwJP5ERK4VkbdFZLGI3Jjw+vmx194Tkcdir00Tkf+IyLsi8g8RGZSH+I0HiUhP4HDgYlJIWCJSAVwKXKWqTQCq+oWqPuVqoKboBfIdgEmNiPiB44CHYs+/AowFJgMCzBGRo4DNwE+Bw1V1k4jsGjvEfOBQVVWR/9/e/YRYWcVhHP8+oDKiECoE/smZwE2RNpXRNqNcFGRgNE4MFCG0KTeVmzLCjIRalLWKUtBFDtVGotLIaFVBMaYWFEEhukoUy8kg4nHxnqnL5Y5TOb5z3zvPBwbec857D+ds3t+859z7O9oMbAWeqHka0Z3uAz6y/YOkM5JunuL+VcAJ27/WMLaIvyVgdb/5ko4AA8DXwMelfn35GyvlhVQB7EbgXdunAWyfKe0rgFFJS4F5wE+1jD6aYBh4pVzvL+X3J7k3v4OJGZMlwe53wfYg0E8VaCb2sAS8WPa3Bm2vsv1Wqe/0UHkNeN32auBRoK+GsUeXk7QEuAN4U9LPwFPAENV+6aK22xdTJb/9EVgpKXtWUasErIawfQ7YAjwpaS5wEHik7D8gabmkq4FPgAfKg4iWJcGrgFPl+qFaBx/d7H5gr+1+2wO2r6F6+14MLJN0HYCkfqq39yO2f6damt4laV5pXyppZGamELNFlgQbxPaYpG+ATbb3lYfJ55IAzgMjtr+V9ALwmaS/qJYMHwaeA96RdAr4Arh2JuYQXWcY2NlW9x7Vly9GgD2S+oA/gc3lHyeAZ4AdwHeS/gDGgWfrGXLMVknNFBERjZAlwYiIaIQErIiIaIQErIiIaIQErIiIaIQErIiIaIQErOgJJdP4vpbyHEm/tGcc7/C5QUl3X6J9raRd0znWiPh/ErCiV4wDN0iaX8p38c8PpS9lEOgYsCTNsf2V7S3TNMaIuAwJWNFLPgTuKdfDwNsTDZIWSNpdstuPSdpQsjRsB4bKmWND5UywNyQdAva2ngslaaGkPZKOlWz4G+ueYMRsloAVvWQ/sKlkZlgDfNnS9jRw2PatwDrgJWAuVXaG0ZKPcbTcewuwwfaDbf1vA87ZXm17DXD4Cs4lItokNVP0DNtHJQ1QvV190Na8Hri35UTlPmDlJF0dsH2hQ/2dtJwXZfvsZQ04Iv6TBKzoNQeAl4HbgSUt9QI22v6+9WZJt3XoY3ySvifLhB8RNciSYPSa3cB228fa6g8Cj6tkCpZ0U6n/jX9/tPsh4LGJgqT24zci4gpKwIqeYvuk7Vc7ND1PtWd1VNLxUgb4FLh+4ksXU3S/A1gk6XjJmr9u2gYeEVNKtvaIiGiEvGFFREQjJGBFREQjJGBFREQjJGBFREQjJGBFREQjJGBFREQjJGBFREQjXAT/TVky+hYG2gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f40d7ad7d30>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "DTCRU.KNN_Sequence_Classifier(metrics=['AUC','Recall'],plot_metrics=True,by_class=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also change the plot type from the vareity of options for seaborn's catplot function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f40d7ac1390>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "DTCRU.KNN_Sequence_Classifier(metrics=['AUC'],plot_metrics=True,by_class=True,plot_type='box')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Repertoire/Sample Classification"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this example, we will pull data from the Rudqvist dataset, where we have TCRSeq data taken from mice who received different forms of therapy for their tumors (Control,RT,9H10,Combo). We want to ask if their composition of their repertoire is predictive of the therapy they received. In other words, we want to understand if the therapy has a predictable effect on the TCR Repertoire within their tumors. The way this algorithm works is that it begins by clustering all the sequences in all the samples. It then measusre the proportion of each sample in every cluster. This provides a vector of cluster proportions that sums to 1. we then can use a k-nearest neighbors approach to see how predictive this proportional composition to the therapy the mouse received. One key parameter here that can be changed is the distance metric to use that measures how far two repertoires are from each other. The options for this include KL-Divergence, Euclidean, JS-Divergence, Wasstersein Distance, and Correlation Distance. We recommend trying all methods as the optimal metric maybe experiment specific."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "%%capture\n",
    "import sys\n",
    "sys.path.append('../../')\n",
    "from DeepTCR.DeepTCR import DeepTCR_U\n",
    "\n",
    "# Instantiate training object\n",
    "DTCRU = DeepTCR_U('Tutorial')\n",
    "\n",
    "#Load Data from directories\n",
    "DTCRU.Get_Data(directory='../../Data/Rudqvist',Load_Prev_Data=False,aggregate_by_aa=True,\n",
    "               aa_column_beta=1,count_column=2,v_beta_column=7,d_beta_column=14,j_beta_column=21)\n",
    "\n",
    "#Train VAE\n",
    "DTCRU.Train_VAE(Load_Prev_Data=False,accuracy_min=0.9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We then can call the KNN command for samples in the same way as for the sequence classifier."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finding 30 nearest neighbors using minkowski metric and 'auto' algorithm\n",
      "Neighbors computed in 47.03325009346008 seconds\n",
      "Jaccard graph constructed in 13.488406896591187 seconds\n",
      "Wrote graph to binary file in 2.01224684715271 seconds\n",
      "Running Louvain modularity optimization\n",
      "After 1 runs, maximum modularity is Q = 0.990905\n",
      "Louvain completed 21 runs in 7.300062417984009 seconds\n",
      "PhenoGraph complete in 69.90300464630127 seconds\n",
      "Clustering Done\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f40da713f28>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "DTCRU.KNN_Repertoire_Classifier(metrics=['AUC'],distance_metric='KL',plot_metrics=True,by_class=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since the first step of this algorithm is running the Phenograph clustering algorithm, we can rerun this line again and change the Load_Prev_Data parameter to True to avoid recomputing the clustering assigments. wE can also change the distance metric as shown."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaUAAAFgCAYAAAAb92apAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzsvXd4HNd19/85W7HoRGHvlCiJEilZolWsYsmWbFFUb5acKHYilyS29TqOW94ncpzEjuP4zS9PnNhx5BLJtB1VW4UUJVFiVSFFip0UKXYSAEF0YIFdLHZ37u+P2QFBEGUBzOwMgPt5HjzEzM7eexbcne+ec889R5RSaDQajUbjBXxuG6DRaDQajYUWJY1Go9F4Bi1KGo1Go/EMWpQ0Go1G4xm0KGk0Go3GM2hR0mg0Go1n0KKk0Wg0Gs+gRUmj0Wg0nkGLkkaj0Wg8Q8BtA4bKzTffrF555RW3zdBoNJrBELcNGI2MOk+poaHBbRM0Go1G4xCjTpQ0Go1GM3bRoqTRaDQaz6BFSaPRaDSeQYuSRqPRaDyDFiWNRqPReAYtShqNRqPxDFqUNBqNRuMZtChpNBqNxjNoUdJoNBqNZ9CipNFoNBrPoEVJo9FoNJ5h1BVk1YxNDh48yKpVq/D5fCxdupTp06e7bZJGo3EBLUoaT/C73/2O119/HYCuri6+8pWvuGyRRqNxAy1KGk9w6tQpzp+QojUZoK6uzm1zNBqNS+g1JY0nqK2ppiIvTUUoSe3JGrfN0djMP33/+1x33XWsX7/ebVM0HkeLksZ1EokEDU3NVOYZTIwY1NRUu22Sxmbe37sXgEOHDrlsicbraFHSuE5NTQ1KKaYUpJmcnybaHqO1tdVtszQ2kkwmAXO9UKMZCC1KGtc5duwYAFPyDaYUpAE4evSoixZp7MYSIy1KmsHQoqRxncOHDyPAtII00wtNUTpy5Ii7RmlsxRKjRCLhsiUar6Oz7zSuc+DAAaYWKkJ+KPcpCkLCgQMH3DZLYyMJLUqaLNGeksZVlFLse38vswrNm5YIzC7sYt/7e122TGMXSim6MmtKWpQ0g6FFSeMqdXV1NDY1c05xuvvcOcUpDh0+Qjwed9EyjV10dXWhlAK0KGkGR4uSxlV27twJwLmlqe5z80tTGIbB3r3aWxoLdHZ29vm7RtMXWpQ0rrJt2zbyg8KsotOe0rmlKXxiPqYZ/fQUongs5qIlmtGAo6IkIjeLyH4ROSgi3+7j8ZkiskZEtonIThG5xUl7NN5CKcXmdzdxQWkCn5w+nx+AeSVpNm9+1z3jNLbRMwyrRUkzGI6Jkoj4gZ8AS4AFwIMisqDXZX8LPK2U+hDwAPBTp+zReI/jx49zqq6eReXJsx67aEIX+/btp6WlxQXLNHZieUoR0OuEmkFx0lO6HDiolDqslOoCngTu6HWNAoozv5cAuujZOOKtt94C4JKKs0XpQ5VJlFK88847uTZLYzOxjHdUhBYlzeA4KUrTgBM9jqsy53ryXeCPRaQKeBnos1+BiHxBRLaIyJb6+nonbNW4wLp1a5ldbFCep856bHZRmrIIuoDnGOAMUdLZd5pBcFKUpI9zve8+DwKPK6WmA7cAy0TkLJuUUo8ppRYrpRZXVlY6YKom19TW1vL++/u4fGLf2Vg+gcsrOnl300ba29tzbJ3GTnqKUiqV0qWGNAPipChVATN6HE/n7PDcw8DTAEqpd4A8oMJBmzQewWrod+Wks0N3FldO7iKZSrNu3bpcmaVxAEuUSnodazR94aQobQbOFZE5IhLCTGR4sdc1x4GPA4jIBZiipONzYxylFK+sfJn5pWkmRox+r5tXnGZygeKVlStzaJ3Gbjo6OoDTi8dalDQD4ZgoKaVSwJeBV4H3MbPs9ojIP4jI7ZnL/hr4vIjsAP4X+Kyytn5rxiy7d+/m+IkqPjpl4I2UInDd5E527NzJiRMnBrxW4106OjrwAYWZYx2O1QyEo/uUlFIvK6XmK6XmKaW+nzn3HaXUi5nf9yqlrlZKXayUukQp9ZqT9mi8wQsvvEAkIFwxafC1hWunmnuYli9fngPLNE7Q3t5Ons9HXubY8pw0mr7QFR00OaWlpYU1a1ZzzeQ4eVnUqJ8QVlxW2cXyl17UJWpGKe3t7eRBtyhpT0kzEFqUNDnlhRdeIJlMceOM7FODPzEjQbS9g1WrVjlomcYp2tvbCStFpMexRtMfWpQ0OSORSPCH3z/HwvIU0wr6T3DozfmlKWYVGTz91JMYRvbP03iD9miUiFLdnlI0GnXVHo230aKkyRmrVq2iqbmFpbOGtqtfBJbOinHs+Ald4WEU0tbWRh4Qxty8qD0lzUBoUdLkhFQqxW9/s4zZxQYXTkgN/oReXDExSWU+LPv1r9EJmqOLaDRKPuBDyPP5tKekGRAtSpqcsGbNGqprTnLH7BjSV62PQfD7YOnMDva+/z5bt26130CNIyiliLa3d68nRTA9J42mP7QoaRwnnU7zxOP/w/RCxWWV/VdwGIzrpnQxIQ/+51e/0t7SKKGzs5NUKtW9nhRRSouSZkC0KGkcZ/Xq1Rw/UcVdczrO6Js0VEJ+uG1WjJ27dvHee+/ZZ6DGMSwBys8cR5SitbXVPYM0nkeLksZRUqkUv/rlL5hZZPDhicP3kixumJagPAK/+PnPtbc0CrAEqFuUgDbdI0szAFqUNI6ycuVKqmtOcs/c2Ii8JIugD+6cba4tvf322yMfUOMoVlKDtaaUj15T0gyMFiWNYyQSCf7nV7/k3NI0l/bRyG+4XDuli0kFisf++2ek02nbxtXYj9U52PKU8oH2WIxUaugZmJrxgRYljWM899xzNDQ2cf+84WXc9UfAB/fN7eDI0WO89poul+hlLK+oIHNsiZPeq6TpDy1KGkdobW1l2a+f4OKKJBdksS9p2f4Iy/ZHBr3O4vKJSeYWG/zyFz8nobuZehZrTaln+A5Oe1AaTW+0KGkcYdmyZcTjcR44J7veOceifo5F/VmP7xN44JwO6uobeO6554ZrpsZhWltbyfP58GcaURf0OK/R9IUWJY3t1NTU8IffP8e1UxLMKHSuVt2CshSXVCRZ9usn9E3Oo7S2tnYLEWhPSTM4WpQ0tvPYY48hyuCeuUOrcTccHjwnRjwe5/HHH3d8Ls3QaWlpIWKcTt23REl/idD0hxYlja3s3buX1atXs2RmjLI85/cRTSs0+OjUBM8//wfdndaDtDQ1UYAWJU32aFHS2IZSip/85D8pCcOts3LXkO+euXEConjssf/O2Zya7GhpaekWIoAgQlhEh+80/aJFSWMb69evZ9eu3dwzp4NIFl1l7aI0rLh1Zox169aza9eu3E2sGRClFK1tbWesKQEUaFHSDIAWJY0tpFIp/vtn/8XUQsVHp3blfP4lszqZkAc//clPdPkhjxCPx0mmUmeJUr5SWpQ0/aJFSWMLL774IlXVNTw4rwO/C++qPD/cM6eDPXv3sm7dutwboDmL3tUcLPKVormpKfcGaUYFWpQ8TENDA7W1tcTjzmexjYSOjg4e/59fccEEM0XbLa6b2sX0QoP//tl/kUy6Z4fGxBKls8J3QKv2lDT9oEXJo6xfv567776b+++/nz97+HNumzMgTz75JC2tbTxwjr3lhIaKT+BT53RQXXOS5cuXu2eIBhjAUwJa29p0mFXTJ1qUPMoHH3wAIqTK5lBddcKz3lJjYyNPPfm/XDGpi3kl7hdHvaQ8xfkTUjz+q18Si2VXTULjDFba91lrSkBXMunZ97TGXbQoeZQTJ04gecWkyuZ0H3uRZcuW0dXVxX3zvHGDEYEHzonR3NrGs88+67Y545qBwneg9ypp+kaLkkc5dPgIyXAxRqQUgKNHj7prUB/U1tby4gsv8NGpCSbnO1dOaKicU2K2yvjd736re/e4SGtrK34RQr3O61JDmoHQouRBurq6qKo6gZFfhsorAZ+PQ4cOuW3WWTzxxBOISnPnHG94ST25d16cWCzOU0895bYp45aWlhYKRBDOXGjUnpJmILQoeZDDhw9jpNMY+RXg86MiZeYak4eoqalh5cqV3DCtk/IclBMaKjOL0lwxqYtnn3la3/xconcxVgstSpqB0KLkQfbu3QuAUVgBQKqggr173/dUl9Vly5bhx+C22bkrJzRU7poTp7MzwTPPPOO2KeOS1pYWIsbZYV0dvtMMhBYlD7Jr1y4kXIgKFQJgFE4iHo9x5MgRly0zqaur49VXXuGjUzuZEPael2QxvdBg8cQunnv2GTo6Otw2Z9zR0tx8Vjo4QB7mjUev92n6QouSx1BK8d7WrSQLJ2Jt+kkXTwZg27ZtbprWzTPPPINhpFk6y56Or8v2R7qb/H1vS+GQOtAOxu2zO+mIxXnxxRdtG1OTHf2F7wShwOfTnpKmT7QoeYyjR4/S0txMunhq9zkVLoK8YrZs2eKiZSYdHR289OILXDGxi8qIPRl3x6J+4mkf8bSPfS3BIXWgHYw5xWkWTEjx7DNPk0oN3pZdYw/pdJr2WIz+vl5E0GtKmr7RouQxNm7cCEC6ZPoZ55PF03hv61a6unJf7LQnK1euJBbvZEkOW1OMlCUzO6lvaGT9+vVumzJuiEajKKX69JQAIoZBmxYlTR9oUfIYb7/9NhSUocKFZ5xPT5hJVyLB9u3bXbLMDC0+/4ffM68kzdxi7yRdDMbFFUkq8+EPv/+926aMGywvqD9PKR9d/07TN1qUPERLSwu7du2iq2TmWY+li6cg/qCr3/Z3797N8RNVfGza6PGSwKyJd8PUGDt27vRsZYyxhiVKfSU6WOf1mpKmL7QoeYgNGzZgGAbpTGmhM/AFSJZMZ+269a6lhq9cuZJwQLhiorshxOFw7ZQufAKvvvqq26aMC6zMuv5EKQJEOzp0UVbNWWhR8hBvvPEGREow8sv6fDxVNpe21hZXQnjJZJJ1a9ewuKKTvBx2lbWLCWHFggkp3nh9lb4R5oDBRCkfszGkLsqq6Y0WJY/Q0NDAtm3b6Jowh/76P6QnzEACQV5//fUcWwfbt28n2t7B5ZNGb5+iKyYlqK45yeHDh902ZczTe03pZRQvc/rLgCVWeq+SpjeOipKI3Cwi+0XkoIh8u4/H/01Etmd+PhCRcRtkXr16NUopUhXn9H+RL0BX6WxWr15DImHPHqFsefvttwn64aKy0StKVgPCd955x2VLxj7RaBQfEM4cn8z8WFhipdPCNb1xTJRExA/8BFgCLAAeFJEFPa9RSv2VUuoSpdQlwH8A4zY96uWVK1GFlahMVfD+SFWcQzwe46233sqRZSZb39vCeSVJwvZtIco5E8KKmUUG7733ntumjHna2tqI+HxnFWO10J6Spj+c9JQuBw4qpQ4rpbqAJ4E7Brj+QeB/HbTHsxw6dIjDhw7RVT6Al5TBKJ6ChAt5eeXKHFhmEo1GOXL0GOeXjv7Np+eXdrFn9y5P1REci0Sj0X7Xk+C0pxSNRnNhjmYU4aQoTQN65t9WZc6dhYjMAuYAqx20x7OsXLkSfD5S5fMGv1h8JMrnsfndd2loaHDeOOiuUD6vZPSL0tziNJ2JLp0a7jCtra19FmO10J6Spj+cFKW+/Pb+0p4eAJ5VSvX59VVEviAiW0RkS319vW0GeoFUKsUrr7xKqmQmBPOye07FfJRSrFq1ymHrTKwGg9MLR793MSPzGrxS3Has0tbS0u/GWdBrSpr+cVKUqoAZPY6nAzX9XPsAA4TulFKPKaUWK6UWV1ZW2mii+2zcuJG2tlZSledm/RwVKcEomsSKFS/nJL355MmThPxQGhr9qdQTI6YonTx5cpArNSOhra1twPBdACEkosN3mrNwUpQ2A+eKyBwRCWEKz1mlmkXkPGACMC5Tol555VUkFCFdMmPwi3uQLD+H48ePsX//focsO01zczOlef1mqo8qIgEI+4Xm5ma3TRnTRKPRAT0lgHzxaVHSnIVjoqSUSgFfBl4F3geeVkrtEZF/EJHbe1z6IPCkGoc7GqPRKG+9/RZdZfPAN7T/ilT5XPD5ee211xyy7jTt7e3k++2pCO4F8oPma9I4QzKZJJ5IMFgwOoLS4TvNWTi6N18p9TLwcq9z3+l1/F0nbfAy69atI51KDbw3qT8CYVIlM3ht1ev85V/+JYGAc/+VhmHgk7HzncEn5mvSOIPl/QwUvgPIMwztKWnOQld0cJHXXlsFkVKM/PJhPT9VMY+21hbHm//5/X5Sauy8VdIKR0V8vGNl1A0WvotgJkRoND0ZO3eaUUZTUxM7dmynq6z/skKDkS41yw6tWbPGZuvOpKioiFhqDCwoAUpBR5eioKC/Tj+akZKtp5SPTgnXnI0WJZfYsGGDWVaor4rg2eILkCyZydp16x3tqlpZWUlzHIwxEMGLJoWkYb4mjTMM1kvJIgJE29t1gVzNGWhRcokNGzZApAQVmdDvNaFj7xA6NnBSYmrCbNqjbezevdtuE7uZOnUqaQX1cWfeLvGUEIlEuPfee4lEIsQd9MpqY+ZrmDatz33cGhuwPKVBs++AVDqtK4VrzkCLkgvEYjHe27qVZMmMAUN3vo5GfB2NA46VLp0GPr/ZsdYhzj3X3EN1NOpM4btYSli6dCmPPPIIS5cudTRUeDRqriVZr0ljP4M1+LOwREuH8DQ90aLkAu+9956ZdVd6dofZIeMPkS6azFsOitKcOXMIh4Lsb3EmOSA/oFixYgU//vGPWbFiBfkB58I5H7QEKC+bQEVFhWNzjHfa2trOqBDeH7qqg6YvtCi5wObNmxF/EKNoki3jpUqmc+L4cU6dOmXLeL0JhUIsXLSI3c2D3WaGRySgiMfjPPvss8TjcSIOiZKhYE9ziMUfvhwZCzuBPUprayv5A1QIt9D17zR9oUXJBd7dvIVk0WTw2RMOS5dMBWDr1q22jNcXV131EWrahZMdo/ct80FLgGgXXHnllW6bwt999++4/4H7+dM/+9OcFdbNFYOVGLLQoqTpi9F7hxmlNDQ0UFNdRbp4im1jqkgZEoo4KkrXXXcdAJtOhRybw2k2nQoSDAa46qqrXLUjlUqxds1aTrac5NDBQ91V2McKrS0tA1YIt7BESYfvND3RopRjduzYAYBRZJ8oIUKyYBJbHdxEO2nSJC655GI2nMpjNGbwJg14py7CtddeR35+Nt/jnaO5uRmlFGqm+YdsbBw4mWW00drSkpWnpNeUNH2hRSnH7Ny5EwkEMQqGV8WhP9LFk6mvq6Ours7WcXuydOmtnOoQ9jSPvmoI754K0d6luOWWW9w2Bav9ipqgzjgeK7S0tJDN1mQ/QsTn06KkOQMtSjlmx86dpAomgtj7pzcKzaSJXbt22TpuT66//npKiotYdcKZhAenUApeq8pj+rSpLF682G1zTn9xKABfvs/RLxK5RilF6yBdZ3uSj/aUNGeiRSmHxGIxjhw+TLpwou1jG/nliD/Anj17bB/bIhwOc8edd7G1PjSqEh4OtPo51OrnnnvvwzfEauxOUFtba/5SAEbEOH08Bmhvb8cwjOxFyTBo0fXvND1w/xM6jti3bx9KKQwHRAmfj3R+BbsdFCWAu+++m0AwwIpj2XXJ9QIvHY1QVFjgidAdmA0GJSQQBCPfoKq6ym2TbMMSmGwrCxYAzU1NjtmjGX1oUcohlhfjhKcEkCqcyIEPPiCRSDgyPkBZWRlLl97KhtowjZ3e3+tzPOpnW0OQ++7/FJHIYIVvckNVVRUUAgIUQn1dPclk0m2zbGFYoqQbLmp6oEUph+zatRvyJ0DAmTUZo3AS6XTa8W60n/70p0F8LD/qfW/p+SN55Eci3HPPPW6b0s3R40dJF5ht2Sky12Gqq6vdNcomhiNKbW1tur+VphstSjnCMAx27tpJssC56tTpItMDczLZAWDy5MncfPMS1tTk0eRhb+lEu49360Lce999FBUVuW0OAPF4nPpT9VBsHqtiMwPv6NGj7hllI5bXU5jl9QVA2jB0J2BNN1qUcsTRo0eJdXRgFE12bpJgBCKl7Nix07k5Mjz00EMo8bHcw2tLzx+JkB/J47777nPblG6OHTsGnBYjMlo51kQp20QHy6Nq0utKmgxalHLE9u3bAUjbuWm2D5KFk9ixcyfpdNrReaZOnWp6S9V5NCe85y1Vtft491SIe+69j5KSErfN6ebgwYPmL6WZEwGQIjl9fpTT3NxMxOcjMEjdOwvLo9IZeBoLLUo54r333oO8IlQ428DG8EgXTyEe68hJ6ZqHHnqINN5cW3r+SIRwOMz999/vtilncPDgQSQoZyy6GCUG+z7Y555RNtLU1JR16A5Oi5L2lDQWWpRyQCqVMvsnFU0ZduvzbLGKs27evNnRecD0lj7xiU+wpiZCW5d3vKXamLmWdNfdd3vKSwLY+/5eVKmipyOhJijqauvGxCbSpsZGCoaQtGCJks7A01hoUcoBe/fuJdbRQbpkuvOTBfNRBRW8s3Gj83NhZuIlDcWrHqrysOJYHv5AwHNeUldXFwcPHsSYcOZNW5WZ60vvv/++G2bZSlNj45A8pQjmTUh7ShoLLUo54K233jI3t+ZClIBk6Qz27tmTkzj97NmzufojV7O6Op+Es8tYWdGaEN48GWbJklsoL7e3vuBIOXDgAKlkClXeq6JtGSA4Wo0jVzQ1NzOUPEcfQqHPN+aK0mqGjxYlh1FKsXbdOjPBIZCbtg/pCbNQSvHmm2/mZL5PPfAA0S7F27Xut7VYXR0maeCpjDuLnTszWZG9m94GgFLYsXNHrk2ylc7OTmLxeNZ7lCwKldKipOlGi5LDHDhwgJM1NaTK5uRsTiO/HPKKWb16TU7mW7RoEfPmzuH16oirbS3SBqypibB48WXMmjXLPUP6Yfv27UixQB95IUaFwZ7de+jq6sq9YTZhheCGuiOsUCkax1ijQ83w0aLkMKtWrQKfj1TZ7NxNKkJX2Rzee29LTr6Bigh33HkXx9p8HI3a0013OOxuCtDUCbfffodrNvRHKpVi+47tpCv6jnGqSkUymWTv3r05tsw+rPfaUEWpiLHXU0ozfLQoOUgqleKVV18jVTIDArlNm05VnINSyhTFHPDxj3+cYMDPmyfdC+FtOBmmuKiQq6++2jUb+mP//v3EY3Hor+xhJSCZrQOjFEtYhrrpoRCzfYXTe+s0owMtSg7yzjvv0NrSTKpyfs7nVpEJGEUTeWn5clQOYmpFRUVcfsWVbK7Pw3AhhNeVhm2NYT56/Q0Eg8HcGzAIVoq+mtjPHycElMGmdzflziibGYmnZCil08I1gBYlR3n++eeRcAHp0hmuzJ+sPJ8Tx493t2B3muuvv56mTlwJ4e1pDpBIKT760Y/mfO5s2Lhxo5llN0DmvDHJYP++/aO2ukFjYyM+si8xZGGJmA7haUCLkmOcOHGCzZs3k6g4z/Yus9mSKpuLBMM899xzOZnviiuuQETY2ZB7T2VnQ5C8cIiLL74453MPRktLC++//z7G5IE3laopCqUU7777bo4ss5fGxkaKfD58WZYYsrBESe9V0oAWJcd47rnnzASHiee7Z4Q/QKLiPNavX5+T7qalpaXMnTOHfS0Bx+fqzb7WMBctXEQ47J1NvBabNm1CKYWaOkhccwJIRHj77bdzY5jNNDY2UjiMULH2lDQ90aLkAG1tbSxfsYJk2TxUaKjBDHtJTVqAAp599tmczLdw0SIOtoVyuq4US0FVVFi0aFHuJh0Cb775JhKR00VY+0MgPTnNOxvfGZVN/+rr6igahihZiRENOi1cgxYlR3j++efpSiRITlnotimocCGpsrm8+NJLRKNRx+c777zz6Ewp6uK5e2sdjwZQmbm9RiKRYOOmjaSnpMkmqqWmKuKxONu2bXPeOJtpbGwccpIDQAAhX1d10GTQomQznZ2dPP30M6RLZ6Dyy9w2B4DklEV0xuM8//zzjs81d+5cAKrac5fsUN3hO2NuL7FlyxYSnQnUtCw9iEkgAWHDhg3OGmYzyWSStmh0yOngFnqvksZCi5LNLF++nLa2VrqmeGfB3SgoJ106g6eeeprOzk5H55o+3azvl0tP6VTcTzAYoLLSua6+w2X9+vVISPrfn9QbvxnCW7tu7ajatzPcag4WhYahw3caQIuSrSSTSX77u99hFE3CKHaww+ww6Jp6MW1trbz00kuOzlNUVEQkL0xjZ+7eWk2dPiorKvD5vPV2TiaTrFu/zgzdDcW06dDa0sru3bsds81uhrtHyaIIaNKipEGLkq288sorNDY00DX1ErdNOQujaDJG8RR+89vfOV5fraxsAq1duXtrtXYJ5RXe85K2bdtGrCOGmj60xX81WSF+Ye3atc4Y5gCWpzTc8F0h0NTSkpON3hpvo0XJJlKpFL9etgxVWGlLi4rQsXfwxRrxxRrJ27uc0LF3RjxmYuolNDc1snLlyhGPNRDFxaV0pHLX9K8jHaC4uDhn82XLmjVrzC6zk4b4xKC5kXb12tUYQ2iY5yYjDd8VYX6GcpGMo/E2WpRs4vXXX+dUbS2JqZfY0l3W19GIpJNIOok/WouvY+SLwEbxVFTRRH697DekUqkRj9cfBYWFxFPZv7VmFaWJ+A0ifoPzS5PMKhraWkpnSigoGGrDBGdJpVKnQ3fDyPlQMxTNjc2jpseSJUrD/V/QbdE1Fo6KkojcLCL7ReSgiHy7n2vuF5G9IrJHRH7npD1OkU6neeLXy1AF5aRLZ7ptTv+IkJj6IerrTvHaa685Nk0oFCKpshfmh86LM6sozayiNH+7uJ2HzosPab4uQwiF3O/l1JNt27bRHm0fcujOQk0ZXSG8pqYm8n0+AkOs5mChN9BqLBwTJRHxAz8BlgALgAdFZEGva84F/ga4Wil1IfBVp+xxknXr1lFddYLElItt8ZKcJF0yHVVQwa+XLXMsuysYDJIegiiNlLQBgUDuq0gMxNq1a83Q3XDzXawQ3prREcJramoa9noSnPawRmvdP419OOkpXQ4cVEodVkp1AU8CvRvdfB74iVKqGUApVeegPY6glOLXv14GkVLSueyZNFxESEy5mJrqase+hft8vpyKkpGZ0yt0h+4mDy90Z6GmKxobGtm3b599xjlEU1MTBSMQTx2+01g4+UmeBpzocVyVOdeT+cB8EXmjcZBQAAAgAElEQVRLRDaKyM19DSQiXxCRLSKypb6+3iFzh8emTZs4fPgQiSmLXCu8OlTSZbMhv5Rlv/mtI9lO4oK36Mac/bFr1y7aWtuGHbqzUFMU4hsdIbymxsZhryeB2YzXB7p9hcZRUerrLtH7UxoAzgWuBx4EfiEiZ1UIU0o9ppRarJRa7LUNkr/5zW+QcCGp8nlum5I9IiQmL+LwoYOOVKQe72m969evR/wjCN1ZhMCoNFi7bq3n/6atLS0jCt/5EAp9Ph2+0zgqSlVAz0ZC04GaPq55QSmVVEodAfZjitSoYO/evezcuZPOSReCz7024MMhVT4PCRfwu9/Zn1uilMppWqeAZ9ZdlFKsW78OY5JhfuUa6XjTFLUnazly5MjIB3OIrq4uOuLxEXlKYPZh0p6Sxsl7x2bgXBGZIyIh4AHgxV7XPA/cACAiFZjhvMMO2mQrTz31FBIIk5rovUKgg+Lzk5h4Idu2beODDz6wf/wcRtO8E7iDgwcP0lDfMHibiiyxxnnrrbdsGc8JWltbgeGng1vkGwbNek1p3OOYKCmlUsCXgVeB94GnlVJ7ROQfROT2zGWvAo0ishdYA3xDKTUqckJra2tZu3Yticr54PdWOnK2JCeeh/iDPP300/YPnsNok5cCW1YvJDXFJqsiQBlseNO7BVotURppk5YCdPadxuF9Skqpl5VS85VS85RS38+c+45S6sXM70op9TWl1AKl1EKl1JNO2mMnf/jDH1BAatKFbpsyfAJhuirO5Y033rA160lEcioUCu9k3739zttm2/M8+8Y0Jnu7TbptnhLQlhlLM37xxid5lJFIJHjppeWkSmehwiNZ3nWf5KQLSafTthZq9fv9pHOoSmnDnNNtWltb2ff+vkHbngPIdkG2Zxd4tNqkb968eaQmOoIllpERjpMPtMdijlYb0XgfLUrDYM2aNbS3R0lOWjD4xR5HRUpIl0zjhRdetG0zbSgUImnkbqUnmVaeqOiwdetWs+355MEVWVoEacnybzQBJCxs2bJlhBY6Q1tbGzDy8J31/Pb29hGONDYRkcki8qSIHMpUwXlZROaLyOgpJ58FWpSGwQsvvgiRUoziKW6bYgvJiefT0FBvW3p4JBIhkaNWQEkD0sqc0222bNli9k6aYPPAAunKNJve3eTJ1HBLlPr7H3gZxUngJPBLFC/3E9y1nt+qQ3hnIeZGvD8AazPLIQuA/8vQy/16Hi1KQ+T48ePs2b2bror5ni8plC3p0llIKMLy5cttGa+wsJBYUmHk4P4Zy1Qjz88f6ff0kbN121aMcsOZT1UlNDU2UVPTe1eF+0SjUUIi/da9OwkkMj9HM8d9YYmSrhTeJzcASaXUz6wTSqnt9ChQICKzRWSDiGzN/Hwkc36KiKwXke0isltErhURv4g8njneJSJ/lbl2noi8IiLvZcY6P3P+vsy1O0RkvZMv1FsFw0YBr7zyCoiQqjjHbVPsw+ejq2web7/9Ni0tLZSWnrV/eUiUlJSgFHQkhaKQs8oU7TJvhBMm2O2eDI2mpiaqq6pRi5x5varSHHfHjh1Mm9a7MIq7RKNRIiIwQi9Oi9KAXAS8N8g1dcBNSqnOTF3R/wUWA58GXlVKfT9TkzQfuASYppS6CKBH0YLHgD9XSh0QkSuAnwIfA74DfFIpVd1XgQM70Z7SEDAMg1dfe4108TRUyP1v5naSqjiXdDrNunXrRjxWWVkZAM0J599e1hzWnG5htZhQFQ6JcDFISDzZyiIajY44yQFOJyxqURo2QeDnIrILeAazEDaYe0b/VES+CyxUSkUx94POFZH/yJR3axORQuAjwDMish34b8Bao3gLeFxEPs+IKjoOjhalIbBnzx7q6+pyU1Io3UUkEuHee+8110vSznaLNfLLIH8Cq1atGvFYkyeb9XUactAS3ZrDmtMt9uzZg/gEnPoOKWCUGezctdOhCYZPezRKng0VNSxh04kOfbIHuGyQa/4KOAVcjOkhhQCUUuuB64BqYJmI/EmmCPbFwFrgS8AvMPWgRSl1SY+fCzJj/Dnwt5hVeraLSLnNr68bLUpDYN26deDzkZowy/G5JNXF0qVLeeSRR1i6dCmSclaUEKFrwmx27do14j1LVnipNub82+tkzE8wGMDtmoj79u0zBcnB75BqguL4seN0dnY6N8kwiEajhG0Yx/KUtCj1yWognPFUABCRDwM9b0YlwEmllAE8RObdKCKzgDql1M+BXwKXZiro+JRSzwGPApcqpdqAIyJyX+Z5IiIXZ36fp5TapJT6DtDAmSXkbEWL0hB48623SBdNhYDz6ccqEGLFihX8+Mc/ZsWKFagczJmeMBulFBs3bhzROCUlJZSWFFPV7vzeoep2P9OnTXN1n5JSiv0H9pMucTblUE0w9ysdPuytSlzt0agte4UDCEERLUp9oMy0y7uAmzIp4XuA73JmPdGfAp8RkY2YJds6Muevx/RutgH3AP+O2bFhbSZM9zhmXzuAPwIeFpEdmN6Z1W7oR5mEiN3AemCHE68TdKJD1lRXV1NTXU1q1lW5mdAfIh5t4tlnnzWPi0ocn9LIL0PCBWzcuJFbbrllRGOdO/88ju5zvgLB8Y4Qly8+3/F5BqKxsZGOaAc4nfuSeQscPnyYBQu8s0euIxazrYBFnggdHR2DXzgOUUrVAPf38dBFmccPAIt6nP+bzPkngCf6eN6lfcxxBDirhZBS6u5hmDwstKeUJVu3bgUgXeKtzCdbEaGraCrvbd064qrb559/PlXtPjod3Jzf0Ck0dyrOP99dUbIqeKtih3PgC0AC4ilPSSlFLB63JXwHEAZisZhNo2lGI4OKkohMEpFfisjKzPECEXnYedO8xa5du5BQBJXnvMfiJkbRZKJtbVRVVY1onEWLFmEoONjqnDO+vzkIwMKFCx2bIxuOHz9u/lLs8EQCFPWYzwMkEgkMw7BPlJTS4btxTjae0uOY1bynZo4/AL7qlEFeZc/e90nmV4yZDbP9kS40EwZG2oJ74cKF+P0+djcF7TCrT3Y3BSgqLGDePHcbLFZVVSFBwbY78wCkC9Mcr/KOKFmhNrvCd2GliOnw3bgmG1GqUEo9DRjQ3ZIiR0VkvEEymaS6uspMmx7jqLxS8PlGHCLKz89n4UUL2dnkTIKGoWBXc5jFH77c9WKsNTU1ZonsXHxfKYC6U3W21SkcKVaozc7wXbvepzSuyUaUOjI56QpARK4ExlVxqrq6Oox0esyH7gDw+ZC8Yk6e7K8YTPZ85OqrOR71UR8f/G02qyjNrKLsb7SH2/y0dMLVV189EhNt4WTtSYz8HHW+zQcjbdDY6I22Y5anZJcohdBrSuOdbETpa5gdY+eJyFvAr4GvOGqVx6ivrwfACI20Y8zoIBXI59SpuhGPc8011wCwuW7wEN5D58V56Lx41mNvrgvh9/u48sorh22fXdTV1aEiuSmUqvJV95xewAlPSYvS+GZQUVJKbQU+ill+4ovAhUop720rd5DusieBHCwaeAAVCNNmQwhl+vTpzD/3HDaesrHjHWboblNdHosXf5jiYqezCwYmkUgQ64iNvJlQtmTm8YqnZAmIXUHaMBCLxz1ZDX00IyL/J1NQdY+IfDVz7nERubfXde09fn9FRFpEZHmva+aIyCYROSAiT4mIrTH6QVOjRORPep26VERQSv3aTkO8jBW/VzJOMujFRyqVsGWoG2/6BD/96UFqOnxMLbAnxPVBS4CGOPz5TTfZMt5I6K5+Ya/u9k+417wuY4mSbYkOQNow6OrqIhwee18Cr/n4zevxBWbaNqCROv7mG69cN9AlInIR8HngcqALeEVEVmQx+o8wi7d+sdf5HwL/ppR6UkR+BjwM/NeQbe+HbPJ1P9zj9zzg48BWzDDeuMBaSBdl5LTNt2sow7bkgRtvvJGf/exnbDgZ4lPn2FMeZ31NiEhemGuvvdaW8UaC1ftHhXP0zgifOa/bOOEpAcTj8TEpSvgCM+OX3G9bnbLI9qezuewCYKNSKgYgIuswq0MMiFLqDRG5vue5TF+nj2FWHgdzU+53sVGUsgnffaXHz+eBD2Hfe3BU0B0issl78DqSSlBaYk9YrKKigiuuuIINtRHSNjhK8RRsqs/jYx+/0RON/awGdzn7RPjMauFeESW7Ex2scXRVB1vZDVwnIuUikg/cwunadT/K9Fnanik5NBjlmEVbrW3xVZgli2xjOPGoGHCunUZ4nYkTJwLgS4yPVNVAst3Wqtu33norLZ2wvWHke5beqQ2RSCluvfVWGywbOd3rjTn8miYh79SHi8Vi+DB7JtiBJUo62cE+lFLvY4bcVgGvYNats0TlGz2rgmcxXF8bH2wNE2SzpvRSj0l9mD06svIZxwqTJk0iFA6TjHkjju8o6S5UvI1Zs+yrhH7VVVdRXjaBN6qTXDYxOexxlILVNRHmzZ3jmdpv3aLk3B7hs1BB5ZmeQx0dHYR9PsSmNsPaU3IGpdQvMSuEIyL/hOnhXD6MoRqAUhEJZLyl6ZxZFHbEZOMp/T/gXzM/PwCuU0p9204jvI7P5+OCCy4g0O6NNFwn8UfN12jnTT8QCHDb7XewqzFI3QjaWRxq83O0zcedd92NeKSyRvfNM4eiZPgNz9y0Ozo6bC1koUXJGURkYubfmcDdmF1ph0ymWvkawMra+wzwgh02WmSzprSux89bSqmRFUUbpXx48WKkowHpGtthBX/rCYLBkO315G677TbE5+ON6uHfwl6vChPJC3OTB7LuLGKxmBnQGEJeiGwXaAFawLfWZx4PhSC0d3gjfNfR0WFr4qE1lhYl23lORPYCLwFfyjT5GxAR2YDZwfbjIlIlIp/MPPQt4GsichBzjemXdhrab/hORKL0HSsUTMF0d4NIjrnuuuv4xS9+gb/pMKnJF7ltjjMog1DzUT784cW2JxFUVlZyzTXXsH7jBu6ZGyc0xOS+aJew6VSYpbcvIT/fO63o4/G4WfduCLoiLYIkM08w92WjhhCWVwFFLO6NL0ft7e2EDQO7aiyN+UZ/Rup4lhlzWY+XzWVKqbNSVZVSn+3jXOFAz8mcP8zwQn9Z0a8oKaWKnJp0NDJ79mzmzz+PD6r2k5p04ZgszOpvOYFKdLBkyRJHxr/rrrtYv349m06FuHbq0DrprqsJkTTgzjvvdMS24dLZ2YkEcvxeCEBnqze6z7a3tdnqKY318N1ge4o0Q8i+E5GJIjLT+nHSKK9yzz13Q6wZf+vYjGCGandRXlHBRz7yEUfGv/TSS5k5YzqvVw/tNmYoeKMmn0ULFzJ37lxHbBsunZ2djrZA7xM/nmmJHrWp66xFMNN91iuJHJrck00/pdtF5ABwBFgHHAVWOmyXJ7nxxhupqKgkXL3VTAUbQ/haq/G11fLpBx8kGHRm1V5EuOPOuzjU6udYNPs7+e6mAPUxuOvunDW/zJp4PI7y5/i9EDDLG3mB9vZ224tZRLQojWuy8ZT+EbgS+EApNQezosNbjlrlUYLBIJ/73MNIez3+Jme7fxoF5Sh/EOUPki6ajFFQ7txkyiDvxGYqKidy++23OzcPcPPNNxMKBlldnf3GntVVYUpLij1RwaE3iUQi96LkNyuFp1IOtvXNglQqRUc8jt0rfBHQojSOyUaUkkqpRsAnIj6l1Bogm01WY5JPfvKTzDvnHCIn3oXU0NZFhkLXrKsw8ssx8svpXHArXbOucmyuwKl9SEcDX/rLv3C8tEtRUREfvf563j4VoTOLThWtCWFbQ4ibl9xCKOS9QiKdnZ2ueErW3G5iJSPYXVcjzzBOV8rQjDuyEaUWESkENgC/FZF/5/Ru4HGH3+/nG1//OnTFCJ14121zRowkouRVbeayyxbzsY99LCdz3nbbbcSTii11g4vMm7Uh0gqWLl2aA8uGTiwey66CpJ1kIp9ui5LlzdgtShGgtXnQjGXNGKVfURKR/xSRq4E7MEsLfRWzRMUh4LbcmOdNFixYwKc+9SmCdfvwt5xw25zhowzCh9cTCvr55je/kbMNqYsWLWLq5EmsPzmwV6YUbKiNsOCCC2ytMGEn8U531pTAfVFqaWkBzKa7dlIAtHiktt9YQUQmi8iTInJIRPaKyMsiMn+EY57V+sIOBvqOdwCzmsMU4Cngf5VST9htwGjl4YcfZuOmTRw7sp6OC+9ChbyzdyZbgjU78bed5Kvf+hZTpkzJ2bw+n49P3LyEJx5/nKZOoSyv75v68XY/VVHhaw6lqNtBZ7wTctyQ2BLBsSpK+ZiFbpVSnqncYRd33HTN+pBP2Za93GXI8RdWvTlY6woB/gA8oZR6IHPuEmAS8IFdttjFQPuU/h34dxGZBTwA/I+I5AG/A55SSnnuxeSScDjMP/z93/Pw5z5H3qE1xM9fAqOo35KvrYZQ9Xt87GMf45Zbbsn5/DfddBOPP/44m06FWDKr70yyd2pD+Hw+rr/++twaNwQ6OzuhLMeTZj618Xj2nXqdwElPKW0YtLe3U1Q0trZLhnxq5r9e3Wab2//Xb2VVw+AGzNyAn1knlFLbxeRHwBLMQgnfU0o9lWlX8ffAKcz8gd8Du4D/gxldvVMpdSgz1I0i8n8wBe5rSqnlGZ34L2Ax5lLP1zK5CFmRTZmhY0qpHyqlPoTZQ+Nu4P1sJxjLzJ49m29+4xv42k4SOr7ZbXOyRhLt5B9ay/Tp0/nmN7/pyrfRGTNmMG/uXN6t7zuEpxRsrs9j8WWXUVpammPrskMpZXpKOax7B3hGlKxGg3aLklVSwCuNDMcAFwHv9XH+bkzRuRi4EbONhRUyuRhThBYCDwHzlVKXA78AvtJjjNmYncmXAj/LCNKXAJRSC4EHgScy57Mim31KQRG5TUR+i7k/6QPgnmwnGOt88pOf5K677iJYu4tA/QG3zRkcI0Xk4BuE/Yp/+v73XS3Zc/0NN3CwxU9L4mxRrOrwcSoGH/Wwl5RIJMy23blOdMjM53Z7h+bmZiI+HwGbSgxZWKLUrJMdnOYazGWZtFLqFOY+VKup62al1EmlVAIzj+C1zPldmEJk8bRSylBKHQAOA+dnxl0GoJTaBxwDsl6/GijR4SYR+RVmifMvAC8D85RSn1JKPZ/tBOOBr3zlK1x8ySXkHX0TX/SU2+b0j1KED61HOhr4u+98h9mzZ7tqzjXXXIMCtvXRZ2lrvZmZ51R1CTvoFoVci1Kw1/wu0dTU1C0gdmKN2djY6MDo45I9wGV9nB/o20TPmLrR49jgzHd87wVhNci4gzKQp/R/gXeAC5RStymlfquUGpsFqUZIIBDge//4j0yaNIn8g28gHm0GGKzeSqDpMH/+xS9y9dVXu20Oc+fOpaK8jJ2NZ4vSjsYg8+efS3m5g5uGR4gbbSt6zud20dKG+nqKDBvaCffCWiXRomQbq4GwiHzeOiEiHwaagU+JiF9EKoHrgKHuc7lPRHwiMg+YC+wH1gN/lJlnPjAzcz4r+hUlpdQNSqmfK6V0YDcLSkpK+NG//JBIUMj/4DVHN9YOB3/DAULV21iyZAkPPvig2+YAZtmhy6+4kr3NYXr2iIun4GBrgMsvv8I947LAEgUVzHFKeEaU3C5aWl9XhxNpCHlAUIT6+noHRh9/ZHog3QXclEkJ3wN8FzNpbSdmJ9rVwDeVUrVDHH4/ZthvJfDnSqlO4KeAX0R2YWZufzYTBswKRwMPInIz8O+Y2/1+oZT6516Pfxb4EVCdOfWfSqlfOGmTk8yaNYvvf+97/PXXv07ewTfonP9J8LmfkedrO0nekQ1ccsmH+PrXv+6pNNtLL72Ul19+mWNRP3OKzRIPH7QEMJT5mJfp9lRyXWhCQILu1oczDIPGpqbsFwqGgCAUi9DQ0ODA6O7SZcjxLDPmsh4vm+uUUjXA/X089I3MT89r1wJrexxf39djfbW+yJzvBPp8LBscEyUR8QM/AW7CXJfaLCIvKqX29rr0KaXUl52yI9dcdtllfOub3+QHP/gBoaNv0jXnWlfbXEi8hfyDrzNt2jS+//3vOVZsdbhccolZsepAS6BblPa3BPD5fFx44YVumjYo3aVwXPiTSshdUWpubiaVTju2RavIMDh1ysPrs8NksD1FmiG0rhgGlwMHlVKHlVJdwJOY1SHGPEuWLOFP/uRPCNZ/QLBmh3uGJOPkf/AaRfkR/t+PfuTJPR8TJ06ksqKcD1pPfz862BrknHPm2d5o0G66RcGFknwqpFwVpbq6OuD0+o/dlAB1tUONJGnGAk6K0jSgZw2eqsy53twjIjtF5FkRmdHXQCLyBRHZIiJbRkuc+eGHH+bGG28kVLUFf6OzFcX7xEgROfA6wXQn//LDf2bq1Km5tyFLzr9gAUfbzTu7oeBIe5AFC7ztJQG0WqVwnK1h2ydG0KCltSX3E2ewvBindpCVAg1NTa5XQtfkHidFqa+YVe8V4ZeA2UqpRcDrQJ9ljJRSjymlFiulFldWVtpspjOICN/61rdYcOGFRA6vx9del7vJlSJ8eAO+6CkeffRvWbBgQe7mHgbnnXcetR1mgkN93Ec8qZg/34nVCntpa2szW6G7sGyowqq7ooIb1Ga8GCdFyTCMMbmupBkYJz9OVUBPz2c6UNPzAqVUY4+sjJ/Tdy79qCUcDvPPP/gBlZXl5B94HUnkJlsqWLODQOMhPve5z3m6RI+F1U22qt3PiXb/Gee8TEtLCxJ2ab0w1MNTc4FTp04RFrG9wZ+FJXa1OoQ37nBSlDYD54rIHBEJYdbPe7HnBT1KWgDczhgsX1RaWsq//PCHhHwGkYOvg5F9OMIoKB9ycz9/8zFCVVu48cYbeeihh4ZqritYm3hrYn5qOkxR8mpV8J60tLRghOzfp5MVYeho73AtvFVTU0MZZqacE0zI/Hvy5ElHxtd4F8dESSmVAr4MvIopNk8rpfaIyD+IiNXe9BER2SMiO4BHGEEaoZeZO3cu33n0UaS9ntCRt7Jupd4166ohNfeTeCuRw+s499z5fOtb3/JU6vdATJ48mYDfT23Mx8mYj7IJJRQU2F1RzX4amxpR4RzvUbLIuChuhfCqq6oozfJ9PBxKMOP/WpTswa7WFSLyVREZcm0yEVkrIouzudbRfUpKqZcxyxP1PPedHr//DfA3TtrgFa699lo++9nP8vjjj2MUTiQ16QJ7J0gnyT/4OoX5efzTP33f8Q6ydhIIBJg0qZKt9V10pYVp5/SZ7+I5mpqbUCXuiJIlhs3NzVRUVOR0bsMwqK2tJas7zDAJIJT6hOrq6sEvHkVc+4lr1xPAttYVpDi+4bUNuWxd8VXgN5g99nrP41dKZdFPemByXbVrXPOZz3yGPXv2sOW9jcQKJw45NDcQoaNvQ7yFv//Xf2XSpEm2jZsrrrjyI7y8YjkAt1/h7UoOYN6Y21raYKJLBmQ8JTcqaTc0NNCVTOJ0AagJhkF1VZXDs+SYADONJYZtsWnfyqyCXcNpXfFdoIHTFcb/GLM6+FRgjYg0KKVuEJF24P8DPgn8tYiEMfvwBTCXcP5iKNUcwJW8ofGL3+/n0UcfpbS0lMihNZBO2jNuwwGCDQf47Gc+w+LFTn5/dY6vfvWrvLbqdV5b9Tqf+cxn3DZnUNra2jAMA8dW+gfDRVGqqTHzlZxuI1UGVI01UXKH4bSu+BCmV7QAs6bd1UqpH2Mmq92glLohc10BsFspdQWwBXgc+FSmbUUA+IuhGqtFKceUlpbyd995FDpbCR3fNOLxJBElcuwdLrpo4ai4mY8VusVgHIqSJRS5EKW2aNT1wrNjmIFaV7yrlKpSShnAds5sV9GTNPBc5vfzgCM9GsA+gVnkdUhoUXKBSy+9lAcfeIBg3T78LSP4JpjZjxQO+nn00b/F7/fbZ6RmQKwK1qqfVu6OEwAJiGui5BdxvAu8FR4ca+tKLjDS1hVp+l/q6eyxjmRLZpUWJZf4sz/7M6bPmEHe0TeHHcYL1O/H31bDV778ZaZMmTL4EzS24bqnBEhEXGnvUFVVRZkIfofSwS0sT0yH8EaMna0rotBvcfh9wGwROSdz/BCm9zUktCi5RDgc5m++/W1ItBOq2jr0AZJx8qo2s+jii7n11lvtN1AzIN1i4GJ5vnQ47Y4oHT9OmQN9lHpjeUpalEaGza0rHgNWisiaPubpBP4UeCbTtsIAftb7usHQ2XcusnDhQpYuXcqKl1eSnHgeKpJ90ZbQiS2IkeIbHmtFMV5obGxEAuLqJ0jlKeobclsL0jAMqqurc1J6JZhJCz9x4sTgF48WUhzPMmMu6/GyuWyErSu+3OP3/wD+o8dxYa/nvoGZJNF7/uuzsRO0KLnOF7/4RVavWUv6+Lt0nveJrJ4jsUaC9R9w7/33jYrKB2ORpqYmJOLyl4E8aK5pzumU9fX1JHKQDm5RZhgcP57VfXdUMNieIo0O37lOaWkpD/3xH+FvOY4vml2dr/CJLeQX5OtsOxdpaGjACLtUYsgiD+KxOJ2dnTmb0gql5Wq7bjlQNZY8Jc2gaFHyAPfeey8lpRMIVW8b9Fpfez3+lhP88R/9kSf7I40XGhobMPJcFqXMelYuM/AsUcqVp1QOtHd0uFp8VpNbtCh5gLy8PD794AP4W6vxtQ+8RhCs2U5BYSF33XVXjqzT9EVTU5OrmXdwOh09l8kOJ06cICjSb/qV3VgemU52GD9oUfIId9xxB5FIPsHaXf1eI51tBJqPcfddd42KgqVjlUQiQTwWd12U3NhAW11dTZkIPofTwS2stHC9V2n8oEXJI+Tn53PrrUsJNB+FZLzPawJ1+/D5fNx55525NU5zBs3NmeSCcShKJ3KUDm4xAXNHpvaUxg9alDzEbbfdBoZBoOHA2Q8qg3DjQa666iOMlu67YxVLBFxrW2FhdpA/LZIOYxgGJ0+edLy8UE/MauE+7SmNABFJi8h2EdktIi+JSKmILMyc2y4iTSJyJPP7627bq1PCPcTs2bM57/zz2XfiEKkpi854zN9ajSZnNNYAABfoSURBVOqKccstS1yyTmPR3cPIbU/JB748X85EqaGhgWQqlVNRgrFVLXzpddetD2Jf64okHF+xfv1gaeZxpdQlACLyBPAlpdT3MYuxIiKPA8uVUs/aZddI0KLkMW668Ub2/+d/Ip2tqLzT1cX8TUeIRPK5YhS0dRjrdIuAF1pWhXPX6C9X1cF7MwE4OEZEKQgz/wqxbXPhvzFkb/0dYNGgV7mIDt95jOuuM7/0+JuPnT6pFKHWE3zkI1cRCoVcskxjMWJRSkIkEuHee+8lEonACDqYpENpmppzs6ZUW2vuo5swyHW96eTM1zvUXVUTgNZoNKf7scYiIuIHPg686LYtA6FFyWNMnjyZmTNnEWg9HUP3xRpRXXGuuir71uga52htbR1ZiaEkLF26lEceeYSlS5eOSJRy6SlZolQ8xOd1cubrHaq0WMW3rPk1QyYiItuBRkxHd5XL9gyIDt95kMsv/zAn/vA8GGnw+fG3mmGTyy7LRcUxzWC0trYi4RGkRAdhxYoVQObfEYQBVUjR2pibjaW1tbUU+XwEjaGFjPI48/UOteVFT1GaPXv2EJ+tIbOmJCIlwHLgS8CPXbapX7Sn5EEuvvhiVDqFr6MBAF+0lqlTp1Fenqt99JqBaGtrQ4VGkHkXhHg8zrPPPks8HofgCIwJQXt7O2YhaGepr6+neBjz5HHm6x1qfoglYg0NDUOeW3MapVQr8AjwdREZybvOUbQoeZALL7wQAF9HPShFMN7AwoUXuWyVxiIajWIEXC4xZBECI20Qi8Ucn6qutnZYojRSijD3KtXV1eV87rGGUmobZquKB9y2pT90+M6DVFRUUFo6gfqORiQZRyVizJ8/322zNBla21q79wi5TsaO9vZ2x6t8NDY2MtnRGfrGj1DokzHhKSXh+DAy5gYcb7Br+mgvcVuv48/aZpANaFHyKOeeew7N7x8hHTMzq+bNm+eyRRqL9o52VKHLG2czqKBpR3t7O5MmTXJsnkQiQXssRuHglzpCocpt5QqnyGJP0bhHh+88ysyZM/HFW5FOM7NK903yDrGO2MjWgewkY0dHR4ej01gZfm6JUoEyxoQoaQZHi5JHmT59OiqdxB+tI5yXR1lZrrcsavpCKUWiM+GdGEPGjni873qJdmGJUr6js/RPAdCao8oVGnfRouRRpk6dCoC/rYYpk6foluceIZFImJluHhMlpxMdotEo4J4oRXrYoBnbaFHyKBMnTgRAUp1MnuzcWoFmaHRXFfC7a0c3GTsSiYSj01iCEHF0lv7JA9pjMdLptEsWaHKFV77vaXoxc+ZMbrrpJpqbm81d/xpP0H3zH2eiZK1ZuVXuz9rb1NnZqXuJjXG0KHmUYDDIo48+6rYZml4kk5maQF4RpUyso9suh7A8RLcy4a28kng8rkVpjKPDdxrNEEilUuYvXlniy3yCu+1yCEuU3Eo6tMRQF2Ud+2hR0miGgFXOR4k39ilZ4uh0mSFL9NxyEK0bldPiq3EfLUoazRAwrFbgXvGUMhgOtyhPp9MI4HPphVtiqBMdxj5alDSaIdCdmu8RR8nC53P2o2wYhqs6bM3ttPhq3EeLkkYzBKybvyiPuEoZcXR6H5vf78cAlEtqbEmR0+KrcR/9P6zRDIFgMLPU75Uv7Bk7uu1yCEsM3HIQrXn9fq+kPWqcQouSRjMEutvRe2VpI2NHt10OYYmeW2kG1ryBgN7FMtbRoqTRDIFIJFPTwGOi1G2XQ+TlmdtXnd0N1T/WvE6/To37aFHSaIaAdXN27e7cm4wdTt+srfG7HJ2lf6x5tSiNfbQoaTRDIBAIkBfJ85woFRUVOTpNYaHZtMLZWuT9Ewf8Pp8WpXGAo6IkIjeLyH4ROSgi3x7guntFRInIYift0WjsoKi4CJwtNZc1kjCz7oqLix2dxxrfLVGKAUWFhbpa/jjAMVESET/wE2AJsAB4UEQW9HFdEfAIsMkpWzQaOykvK+8WA9fJVN1xut9WaWkpAM62EuyfGFBSUuLS7Jpc4qSndDlwUCl1WCnVBTwJ3NHHdf8I/AvdHy+NxttUVlTi6xz+R0eVKlQw81OpUKUjSLTuNEOKTofvysvLAXCro1FUhIpMOxfN2MZJUZoGnOhxXJU5142IfAiYoZRaPtBAIvIFEdkiIlvq6+vtt1SjGQITJ04cURxLXaKgFCgF43rDPB4uMaiorHA8rFVYWEheOEyro7P0T5tId48xzdjGSVHq61PS/ekTER/wb8BfDzaQUuoxpdRipdTiyspKG03UaIbOpEmTUF3KvVS0HvhiPqZMmeL4PCLCxMpKV0QpjSJqGOjP/vjASVGqAmb0OJ4O1PQ4LgIuAtaKyFHgSuBFneyg8TrTpmUc/nZ37QDwtfuYMX3G4BfawNTp02kehkc2BbM5YBiYnTkeCi2YhSu6/+6aMY2T26M3A+eKyBygGngA+LT1oFKqFaiwjkVkLfB1pf7/9u4+tqr7vuP4+3uuDTHYYBs7Nr4GG4MfcIxtMH6AgAIZCeGhpFMrNZkq7Y9u06SlnTRN2qR11ZTuj2mbJq1r/4m0duqkLY02baqmbO0f3T/9Z2ukpnlYlUB4fggYSIAAMSX3uz/OvcQ4Bvxwnu7l8/oH33PPPedrCfvjc87v9/35azHWJLJoa9aEIWBXDW9MsTPrFBSmCrS3tydyunw+z88J+9/ZPNqz7sc4V7xJ8pUFtHW9PO38Uvliu1Jy99vAC8CPgF8Cr7j722b2opkdiuu8InFrb28Pe7BdTbmQ4vm7uroSOV17eztT7okPdig9RU4qfCVdsTaScvdXgVdnbPvGPfbdFWctIlGpqqqio7OD9z58L7Wu2QD2YXjVsW7dukTOVwq/C0C8s6LudgFYUVtLQ0NDgmeVtKijg8gC9PX2kbuSS3ddpQ9gZf1KmpqaHrxvBErhdz6Rs33qAsa6ri5NnH1IKJREFqCvr4/Cx4VwVmdKch/k6N/Yn9gv6/r6ehobGjiXyNlCBZzzBhu6uxM8q6RJoSSyAI899hgAdjGlv95vgV91BgYGEj1tb18f5xJcaO8icMudnp6exM4p6VIoiSxAV1cXNctqwt+aaSg+/d+0aVOip+3p6WGyUOBWQvctS3NIFEoPD4WSyALkcjmGh4bJTaazEqpNGtXV1fT3f6adZKz6+/txwjkeSTgN1CxdSmdnZ0JnlLQplEQWaGRkBL/mqXQpzV3IMTg4GPuKszOVQvDUA/aLyikzNvb3axn0h4hCSWSBxsbGALDzCT9XugF+xe+cP0krV66kPZ/nZALnmsJ5353HEn5uJulSKIksUEdHB82PNmPnkg2l0vkmJiYSPW/J8ObNnAwCCvN4rrSa+bcXOkXYXmhoaGien5RyplASWSAzY+eOnQQXArid4HnPGi2rW1J7zjI0NMTNQmFe85X2Y+yfZ4uh40AQBImPMJR0KZREFmHnzp34bU9uRumvILgQ8MTOJ1KbTDo8PAzAsZjPc8yMnu5uli1bFvOZJEsUSiKLMDQ0RG1dLXY6mYCws4YXnCeeeCKR882mpaWFttZWjsZ4jimc0+6MbNWiAQ8bhZLIIlRVVbF7125yZ3OJ3MKzU8aqplV3Ju+mZWR0lONmfBLTfKUThM+TRkZGYjm+ZJdCSWSRnnzySfy2xz/g4RYE5wP2/NoeggS7KsxmdHSUKXdOx3T8I8CS6urEJwdL+hRKIos0PDxMw6oG7MTcQ8nrHa+f31WGnQpv3T311FPzLTFyIyMjBGYcien4RyxgaGiIpUuXxnQGySqFksgi5XI59j61N5yvNDW3z/iw48PzC6XgZMDajrV0Z6A5aV1dHX19fRyJYbDFhziTXmBsfDzyY0v2KZREIvDMM89AAexkTLfwrgEXYf++/ZlZwmF8YoIz7lyP+LnS4dLxFUoPJYWSSAS6urro7ukmdyKedjh23DAznn766ViOvxATExM4RH4L712gpbmZjo6OiI8s5UChJBKRgwcO4h84fBDxgQuQO5ljfHw8sQX95qK3t5eVK1bwboTHvI1zzIyJ7dszc0UoyVIoiURkz549VFdXY8ci/mV6HvyGc+DAgWiPu0hBEDCxbRtH5tly6H5OAFPuqbVQkvQplEQiUldXx65du8idinbOUnA0YEX9CrZv3x7dQSMyMTHBjUIhsqHh7wDVVVVs2bIloiNKuVEoiUTo4MGD+C2PrsPDzbAB64F9B6iuro7mmBEaGxsjCALeieh47wYBmzdvpqamJqIjSrlRKIlEaHh4mLZ8G8HxaH607ISBh2GXRXV1dWwaGOBwBM9/LuFcKhTYlsErQkmOQkkkQmbGoc8dCpcrv7rIgznkjoeL+a1ZsyaK8mKxbft2zrlzZZHPlUpXW9u2bVt8UVK2FEoiEdu7dy9BLlj8gIdJ8GvOoUOHoiksJqUQOfyA/R7kXWBtezttbW2LrknKl0JJJGKrVq3i8e2PkzuZC7uKLpAdM2qW1aTaEXwuOjs7ebSpaVHPlaZwjpux7fHHI6tLypNCSSQGBw8exD92OLfAA9yC3Jkce5/em/n+b2bG9h07OGrG7QXewjsKfKKh4IJCSSQWo6OjNDQ2EBxb2I+YnTL8E2f//v0RVxaP8fFxbrlzYoGfPwzULF3K4OBglGVJGVIoicSgqqqKfc/sw943+Hj+nw+OB3Su66S3tzfy2uKwZcsWqqqqFvRcyXEOBwEjo6OZHPYuyVIoicRk37594Ato0noNuJyt5qsPUlNTw9DQEIcXsM7TJPBhoaBbdwIolERi09HRQU9vTzjgYR7sRNh8dc+ePTFVFo+xsTEuFArzHhpeaug6NjYWfVFSdhRKIjHa+/TesEnrXOcsOeRO5RjZOpKp5qtzUQqV+XYNPwKsyedpbW2NvCYpPwolkRjt3r0bM8NOzfE23GXwj5yn9qS/uux8dXV10djQwHvz+Mzt4lDwUa2dJEUKJZEYNTU1MTQ8RO50jrnc1bLTRi6XY8eOHfEXFzEzY+voKEfn0TX8FPArd0ZGRuItTsqGQkkkZrt37cavzuEWnodzk0ZHR6mrq0uktqiNjIxwvVDgwhz3fw8IzNi8eXOcZUkZUSiJxGznzp0A2JkH3ML7EPy6s2vXrviLiklpyYljc9z/GEZPTw+1tbXxFSVlRaEkErOmpib6NvYRnLv/j5udDUfdZXHdpLlqaWmhtaVlTqF0C+eMwWatnSTTKJREErBzx064zH0n0gbvB2zs30h9fX1idcVhy8gIJ+bwXOk0YWsh3bqT6RRKIgkoTQy19+9xC+9j4DJs31a+V0klg4OD3CgUuPiA/U4QDo4YGBhIoiwpEwolkQRs2LCBFfUr4Pzs79uFMKwqYQLppk2bAB7YB+8EsK6zU8+T5C6xhpKZPWNm75jZETP741ne/10ze9PMXjezn5pZf5z1iKTFzBgdGaVqsmr2oeHnYXntcrq7uxOvLWrt7e3Ur1jByfvsU8A5bcbg0FBidUl5iC2UzCwHfAfYB/QDz88SOv/k7pvcfRj4S+Bv4qpHJG1btmyhcLMAH332vdylHJuHN5PLza8lURaZGf0DA5y5Tx+8SWDKnf5+/R0qd4vzSmkMOOLuR939FvAy8Oz0Hdx9+syN5cxpeqFIeRoqXhXY5IznSjfDFWaHKuiqob+/n8lCgZv3+JE+PW0/keniDKU84YTtktPFbXcxs98zs/cIr5S+NtuBzOx3zOw1M3ttcnIylmJF4rZmzRqW1y0PR+FNdyn8p/QsphJs3LgRgLP3eP8MsLymhvb29sRqkvIQZyjNNszoM382uft33H098EfA12c7kLu/5O5b3X1rc3NzxGWKJMPM2PTYJnKX775FZ5eNqqoqNmzYkFJl0evp6QHuHUpnzejt6yNYwFIXUtni/B9xGlgz7XU79/4/CuHtvc/HWI9I6vr6+sKWQ7c/3WYfGF3ru1iyZEl6hUVs5cqVtDQ3z/oD/wnOeaCnTBYwlGTFGUo/A7rNbJ2ZLQGeA344fQczmz7U6AAsaOFKkbLR3d0d3i+4UtzgkLuSo7en8n5Bd/f2cn6WK6GLwG33iroylOjEFkrufht4AfgR8EvgFXd/28xeNLNDxd1eMLO3zex14A+A34yrHpEsWL9+PQB2pXh3+yYUpgp3tleS9evXc7FQ4Fcz7tqfn/a+yExVcR7c3V8FXp2x7RvTvv79OM8vkjWtra0sfWQpN6/cDDcUx592dXWlV1RMurq6cMLh323Ttp8HckHA2rVr0ylMMk1PGUUSFBR/Gdu18Eqp9G9HR0eaZcVi3bp1QBhK010A8vk81dXVidck2adQEklYx9oOcteLI/CuQc2ymrJvwjqbfD5PEASfCaVLQUBnMbBEZlIoiSSsra2NwvUCFMCuG/l8HrM5LpdeRqqrq2lrbb0rlD7BuVQoVOSVoURDoSSSsLa2tnAE3g3I3ciRb/vMnPKKsaajg8v26a+ZD4ECaNKs3JNCSSRhLS0t4Rc3wG/4p68rUD6f5zKOF0fgFZtXKJTknhRKIgl79NFHgXBYuN/2O68rUT6f55b7nR60pQ5Lq1evTqskyTiFkkjCVq1aBYAds7teV6LW1lYgvG1X+ndJdXVFf8+yOAolkYQtW7aMwaFBaj+ppam5id4KbrczWyg92txckQM7JBqxTp4Vkdl9++++nXYJiSjdmix1VbpiRotu3cl96EpJRGJTW1vL0iVLSo0ruGaGOv3L/SiURCQ2ZkZzUxNXCZdAv1YoKJTkvhRKIhKrpuZmPgJuEM5R0iAHuR+FkojEqqGxketBcGdYeGNjY6r1SLYplEQkVo2NjXwEd0KpoaEhzXIk4xRKIhKr+vp6Pi4U7gx2qMTmsxIdhZKIxKoUQkeLr1euXJleMZJ5CiURiVVprtIvgJpHHqGuri7dgiTTNHlWRGI1Pj7OSy+9xNTUFM3NzeRyubRLkgxTKIlIrIIgoK+vL+0ypEzo9p2IiGSGQklERDJDoSQiIpmhUBIRkcxQKImISGYolEREJDMUSiIikhkKJRERyQyFkoiIZIZCSUREMkOhJCIimWHunnYN82Jmk8CJtOuQitIEXEy7CKk4F939mbSLKDdlF0oiUTOz19x9a9p1iIhu34mISIYolEREJDMUSiLwUtoFiEhIz5RERCQzdKUkIiKZoVASEZHMUChJxTOzXzczN7O+4utdZvYfM/b5BzP7YvHrajP7CzM7bGZvmdn/mtm+NGoXedgolORh8DzwU+C5Oe7/TWA1MODuA8DngLqYahORaRRKUtHMrBZ4HPgKcwglM1sG/DbwVXefAnD38+7+SqyFigigUJLK93ngv9z9XeCymW15wP4bgJPufjX+0kRkJoWSVLrngZeLX79cfH2veRCaHyGSsqq0CxCJi5mtAp4EBszMgRxh8HwfaJixeyNhU9YjwFozq3P3a0nWKyK6UpLK9kXg++7e4e6d7r4GOEYYQG1mthHAzDqAIeB1d78B/D3wLTNbUnx/tZl9OZ1vQeTholCSSvY88G8ztv0r4YCHLwPfM7PXgX8BfsvdrxT3+TowCfyfmb0F/HvxtYjETG2GREQkM3SlJCIimaFQEhGRzFAoiYhIZiiUREQkMxRKIiKSGQolqRjFTuD/OO11lZlNzuwIPsvnhs1s/33e32pm34qyVhGZnUJJKsl1wu4NNcXXTwFn5vC5YWDWUDKzKnd/zd2/FlGNInIfCiWpNP8JHCh+/Tzwz6U3zGy5mX3XzH5mZj83s2eLXRteBL5kZq+b2ZfM7M/M7CUz+zHw/enrL5lZrZl9z8zeNLM3zOwLSX+DIpVMoSSV5mXgOTN7BBgE/mfae38C/MTdR4HdwF8B1cA3gB+4+7C7/6C47wjwrLv/xozj/ylwxd03ufsg8JMYvxeRh44askpFcfc3zKyT8Crp1RlvPw0cMrM/LL5+BFh7j0P90N1vzrJ9D9PWZXL3DxZVsIjcRaEkleiHwF8Du4BV07Yb8AV3f2f6zmY2Pssxrt/j2IaWuBCJjW7fSSX6LvCiu785Y/uPgK+amQGY2ebi9mvMfbnzHwMvlF6Y2cwlMERkERRKUnHc/bS7/+0sb32T8BnSG8Xu398sbv9voL800OEBh/9zoMHM3jKzXxA+mxKRiKhLuIiIZIaulEREJDMUSiIikhkKJRERyQyFkoiIZIZCSUREMkOhJCIimaFQEhGRzPh/Vu8q+2PfE4AAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f40d7f8fc50>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "DTCRU.KNN_Repertoire_Classifier(metrics=['AUC'],distance_metric='wasserstein',plot_metrics=True,by_class=True,Load_Prev_Data=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We note that the KL divergence is a better distance metric in this particular dataset for predicting the therapy the mouse received from the TCR repertoire."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Also, in the case of very large files, we can downsample the clustering step and then use a K-nearest neighbor algorithm to assign the rest of the sequences. This is useful fo improve the speed of the algorithm."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finding 30 nearest neighbors using minkowski metric and 'auto' algorithm\n",
      "Neighbors computed in 0.4857609272003174 seconds\n",
      "Jaccard graph constructed in 0.5389113426208496 seconds\n",
      "Wrote graph to binary file in 0.048542022705078125 seconds\n",
      "Running Louvain modularity optimization\n",
      "After 1 runs, maximum modularity is Q = 0.729993\n",
      "After 19 runs, maximum modularity is Q = 0.731657\n",
      "Louvain completed 39 runs in 4.984260082244873 seconds\n",
      "PhenoGraph complete in 6.068241596221924 seconds\n",
      "Clustering Done\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f40da6c6160>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "DTCRU.KNN_Repertoire_Classifier(metrics=['AUC'],distance_metric='KL',plot_metrics=True,by_class=True,sample=1000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Of note, this down-sampling has resulted in loss of predictive power in this setting."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In conclusion, both of these methods can help one assess the predictive power of the TCR repertoire at both the sequence and sample level in order to identify whether there are structural signatures that are tied to certain class labels."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
